突出显示匹配的表达式,除了空格

Highlight matched expression EXCEPT whitespace

本文关键字:空格 表达式 显示      更新时间:2023-09-26

我有一个Ajaxsearch(像谷歌),你在那里键入一个词,并在底部自动完成表单,并匹配关键字得到突出显示。问题是空白也被突出显示(被赋予强标签),这增加了空白的宽度。

我必须修改下面的函数,但我只是不知道这是做什么的。

highlight: function(value, term) {
    return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/(['^'$'(')'[']'{'}'*'.'+'?'|''])/gi, "''$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
},

解决:只是添加了修剪,以防止尾部空白被突出显示。

highlight: function(value, term) {
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + trim(term.replace(/(['^'$'(')'[']'{'}'*'.'+'?'|''])/gi, "''$1")) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");

}