$keyword = obama
$result = "US President Barack Obama on Wednesday signed a landmark law"
我如何作出這樣每次$關鍵字裏面也出現$導致它改變了$關鍵字在裏面<strong></strong>
標籤?
str_replace不起作用,因爲如果關鍵字處於lowercaps並且結果obama在高帽中,它將不會替換它。
感謝
編輯:找到了答案,萬一有人需要它這是代碼
$myWords = array($keyword);
function boldText($arrWords, $strSubject)
{
if (!is_array($arrWords)) return;
foreach ($arrWords as $strWord)
{
$strSubject = preg_replace('@(' . preg_quote($strWord, '@') . ')@i', "<b>\\1</b>", $strSubject);
}
return $strSubject;
}
當心如果源數據可能包含任何HTML或確實網址等使用這種方法(如:單詞「奧巴馬」會發生什麼事是在URL) – 2010-12-22 18:47:04
我走$只是一個不包含任何html的簡短描述的字符串的結果都不是一個url。事情是我需要把它粗體,即使字符串已蓋帽字母 – Peibol 2010-12-22 19:04:38