PHP替换多行字符串

时间:2014-04-19 16:10:42

标签: php

我有一个多行字符串,如下所示(在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

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

DEMO