首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高亮部分匹配关键词

高亮部分匹配关键词
EN

Stack Overflow用户
提问于 2015-02-05 09:21:29
回答 1查看 25关注 0票数 1

从堆栈溢出到粗体匹配的关键字,我找到了这段代码。但它只有粗体匹配的关键字。

例如:

$text = "iphone“和$srch_term = "iphone”->匹配并加粗

$text = "iphone“和$srch_term = "iph”-> No matched (我也希望它匹配和粗体)

如何修复下面的代码以实现此目标?对不起,我对regex的使用知之甚少,所以我不知道如何处理它。

代码语言:javascript
复制
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);
} 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 09:29:41

代码语言:javascript
复制
$re = '~(' . implode('|', $m[0]) . ')~i';

使用this.Remove \b,因为它将寻找单词边界。

代码语言:javascript
复制
\b assert position at a word boundary (^\w|\w$|\W\w|\w\W)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28340232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档