javascript - 正则表达式使搜索建议像谷歌或亚马逊一样粗体
问题描述
我正在寻找像 Goolge 和亚马逊搜索建议那样使文本加粗的解决方案。
我知道如何使它相反(如果我输入“ne”)例如。牛顿具有这样的功能:
highlight(value, input): string {
return value.replace(new RegExp('(^|)(' + input + ')(|$)', 'ig'), '$1<b>$2</b>$3');
}
但是这个正则表达式应该如何实现这个=>例如,如果我输入“ne”,我应该得到:1.新汽车2. 超级新电脑 3.牛顿
解决方案
如果您在此处使用的正则表达式涵盖了您的所有用例,一个简单的解决方案是(几乎)保持原样,并修改 CSS 以获得所需的效果:
.search-suggestion { font-weight: bold; }
.search-suggestion > span { font-weight: normal; }
将您的搜索建议放在具有search-suggestion
该类的元素中,并修改您的正则表达式以将搜索文本包装在 a<span>
而不是<b>
元素中。
推荐阅读
- pdf - 签名后 PDF 损坏
- python - 如何在 Python 的整数列表中计算真值?
- ocaml - 如何满足包括多态集在内的模块类型
- javascript - 如何为 vuejs 中的字段设置 maxlength?
- python - 你知道如何使用 python 让一个句子改变它的字体大小(取决于长度)吗?
- typescript - 是否可以使用打字稿模板文字类型编写打字稿解析器?
- java - 如何在 Java 中计算特定两个日期之间的星期日
- python - 如何在目录中查找最旧和最新的文件?
- node.js - 对于 nodemailer,nodejs 服务器在托管时如何工作?
- go - 如何在 GKE 中使用 HTTPS 部署 Echo 应用程序?