首页 > 解决方案 > 正则表达式使搜索建议像谷歌或亚马逊一样粗体

问题描述

我正在寻找像 Goolge 和亚马逊搜索建议那样使文本加粗的解决方案。

我知道如何使它相反(如果我输入“ne”)例如。牛顿具有这样的功能:

    highlight(value, input): string {
    return value.replace(new RegExp('(^|)(' + input + ')(|$)', 'ig'), '$1<b>$2</b>$3');
}

但是这个正则表达式应该如何实现这个=>例如,如果我输入“ne”,我应该得到:1.新汽车2. 超级电脑 3.牛顿

标签: javascriptamazonhighlight

解决方案


如果您在此处使用的正则表达式涵盖了您的所有用例,一个简单的解决方案是(几乎)保持原样,并修改 CSS 以获得所需的效果:

.search-suggestion { font-weight: bold; }
.search-suggestion > span { font-weight: normal; }

将您的搜索建议放在具有search-suggestion该类的元素中,并修改您的正则表达式以将搜索文本包装在 a<span>而不是<b>元素中。


推荐阅读