我想在字符串上运行preg_replace
PHP函数,但我需要它来忽略锚标记内的任何内容。
例如。
string = 'alpha beta delta gamma <a href="somelink.html">alpha beta delta gamma</a>'
to match = 'beta delta'
我如何才能获得beta delta
的第一个实例,而不是第二个实例?
答案 0 :(得分:1)
您可以对结束标记进行否定预测:
preg_replace("/$to_match(?![^<]*<\/)/", 'foo', $string);
另外,你不应该在html上使用正则表达式。