繁体   English   中英

PHP替换多行字符串

[英]PHP replace multiline string

我有一个如下所示的多行字符串(在PHP中):

ABCDEF
Colore lato A: NO
Colore lato B: Colore lato B (+3,00)
Colore lato C: NO
Stampa lato A: Stampa lato A (+7,00)
Stampa lato B: NO
Stampa lato C: NO
blablabla
blablabla

基本上,我想进行以下更改:

  • 删除所有以“ Colore”或“ Stampa”开头并以“ NO”结尾的行
  • 删除以“ Colore”或“ Stampa”开头的“:”行之前的部分

那么我想要的结果如下:

ABCDEF
Colore lato B (+3,00)
Stampa lato A (+7,00)
blablabla
blablabla

由于各种原因,我无法将其转换为数组并对其进行修改。

我使用正则表达式,但找不到正确的表达式,您有想法吗?

谢谢!

$result = preg_replace('/(' . PHP_EOL . ')?^(Colore|Stampa).*NO|^(Colore|Stampa).*:\s*/m', '', $string);

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM