从堆栈溢出到粗体匹配的关键字,我找到了这段代码。但它只有粗体匹配的关键字。
例如:
$text = "iphone“和$srch_term = "iphone”->匹配并加粗
$text = "iphone“和$srch_term = "iph”-> No matched (我也希望它匹配和粗体)
如何修复下面的代码以实现此目标?对不起,我对regex的使用知之甚少,所以我不知道如何处理它。
function highlightWords($text, $srch_term) {
preg_match_all('~\w+~', $srch_term, $m);
if(!$m)
return $text;
$re = '~\\b(' . implode('|', $m[0]) . ')\\b~i';
return preg_replace($re, '<b>$0</b>', $text);
} 发布于 2015-02-05 09:29:41
$re = '~(' . implode('|', $m[0]) . ')~i';使用this.Remove \b,因为它将寻找单词边界。
\b assert position at a word boundary (^\w|\w$|\W\w|\w\W)https://stackoverflow.com/questions/28340232
复制相似问题