我有一个以下字符串(带有换行符):
<a>something1</a>
<a>something2</a>
<a>something3</a>
我需要匹配2和3并替换它,但我有一个结果:
<a>something1</a>
<a>replacement2</a>
<a>replacement3</a>
但我需要的只是替补,没有什么。有3000个这样的字符串,所以我自己删除它会花费很多时间。你知道吗?
您可以使用preg_filter
函数一次完成过滤和替换:
$s = <<< EOF
<a>something1</a>
<a>something2</a>
<a>something3</a>
EOF;
$subject = explode("'n", $s);
echo implode("'n", preg_filter('~'bsomething([02-9])'b~', 'replacement$1', $subject));
输出:
<a>replacement2</a>
<a>replacement3</a>