2011-03-28 64 views
1
$strSubject= preg_replace('/\b'.$strWord.'\b/i', '<b>'.$strWord.'</b>', $strSubject);  

上面的代码工作在PHP 5.2.6,但在PHP 5.2.9不工作,并得到“警告,不明改性剂......”的错误。请帮助PHP的preg_replace问题

+2

什么是strWord? 'var_dump($ strWord);' – zerkms 2011-03-28 03:23:59

回答

4

您可能有一个元字符在$strWord中未转义。也可以尝试这个...

$strSubject= preg_replace('/\b'.preg_quote($strWord, '/').'\b/i', '<b>'.$strWord.'</b>', $strSubject);  

,你可以只使用这个:)

$strSubject = preg_replace('/\b('.preg_quote($strWord, '/').')\b/i', '<b>$1</b>', $strSubject);  
+0

亚历克斯,它的工作,非常感谢! – Weiqiu 2011-03-28 05:23:32

+0

@Weiqiu不用担心,随时给我大绿色的勾号:) – alex 2011-03-28 05:27:02