Php 警告:preg#u replace()[function.preg replace]:未知修饰符';d';
我有一个函数,偶尔会发出一个错误:Php 警告:preg#u replace()[function.preg replace]:未知修饰符';d';,php,regex,Php,Regex,我有一个函数,偶尔会发出一个错误: 警告:preg_replace()[function.preg replace]:未知修饰符“d” 通常情况下,情况并非如此。我不明白什么时候有,什么时候没有 我对regex几乎一无所知,因此非常感谢您的帮助 下面是函数: function textHighlight($haystack,$needle,$clr='yellow') { $haystack=preg_replace("/($needle)/i","<span style='bac
警告:preg_replace()[function.preg replace]:未知修饰符“d”
通常情况下,情况并非如此。我不明白什么时候有,什么时候没有
我对regex几乎一无所知,因此非常感谢您的帮助
下面是函数:
function textHighlight($haystack,$needle,$clr='yellow') {
$haystack=preg_replace("/($needle)/i","<span style='background:$clr;'>\${1}</span>",$haystack);
return $haystack;
}
function text突出显示($haystack、$needle、$clr='yellow')){
$haystack=preg\u replace(“/($needle)/i”、“\${1}”、$haystack);
返回$haystack;
}
谢谢。在$pinder变量中可能有一个“/”字符。您可以用#…#替换/。您如何调用此函数
textphighlight
以及您传递了什么参数?这是完美的textphighlight('somestring','d')
将复制所描述的错误,正如我所说的,它工作正常,直到它不工作为止。这个函数处理大约50个字符串,我通常会收到2到5个警告。谢谢!这起作用了。对于我未来的教育-在/s中包含字符串与在#s中包含字符串之间有什么功能上的区别吗?不,恐怕实际上没有。正则表达式引擎正变得混乱,因为$pinder中还有另一个“/”字符。我想你可以用“/\”转义每个字符(我不太确定)。明白了。非常感谢!