$ words is creat“ive
$ string是Recreat“ive
两者都是通过结果集从数据库获得的
function highlightWords($string,$words) {
$string = preg_replace("/$words/i", "<font style=\"background-color:yellow;\">$0</font>",$string); //To highlight $words in $string
}
preg_replace函数不适用于上述代码。但是如果代码是
,它就可以工作function highlightWords() {
$words='creat"ive';
$string='Recreat"ive'
$string = preg_replace("/$words/i", "<font style=\"background-color:yellow;\">$0</font>",$string);
}
答案 0 :(得分:1)
在你的模式上使用preg_quote()(即$ words)
答案 1 :(得分:1)
首先,$new_words
不存在。我认为你的意思是$newwords
秒,你的函数没有对函数外的$string
做任何事情,因为它是函数的本地函数。如果你想修改它,请通过引用传递它。
function highlightWords(&$string,$words) {
$newwords="background color changed words";
$string = preg_replace("/$words/i", "<font style=\"background-color:yellow;\">$newwords</font>",$string); //To highlight $words in $string
}
最好只传递$string
in value并简单地return
新值:
function highlightWords($string,$words) {
$newwords="background color changed words";
return preg_replace("/$words/i", "<font style=\"background-color:yellow;\">$newwords</font>",$string); //To highlight $words in $string
}
答案 2 :(得分:0)
尝试
preg_replace('/'.$words.'/i', "<font style=\"background-co...