我有一个跟随字符串(带换行符):
<a>something1</a>
<a>something2</a>
<a>something3</a>
我需要匹配something2和something3并替换它,但后来我得到了结果:
<a>something1</a>
<a>replacement2</a>
<a>replacement3</a>
但我只需要替换,没有东西1。有3000个这样的字符串,所以自己删除它会花费很多时间。你有什么想法吗?
答案 0 :(得分:1)
您可以使用 preg_filter
function 一次性进行过滤和替换:
$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>