2011-03-28 65 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