html和ajax部分就不写了,只需将需要匹配的文字传进去就可以了,
比如匹配后台传回的字符串<代码> data.content> 代码中的关键词:直接调用:
<代码>数据。内容=highLightKeywords (data.content、关键词)代码>即可
,以下两个函数分辨是匹配1:匹配关键词词中每一个字符,2:匹配整个关键词词
//高亮关键字文本=祝辞内容词:关键词标记被包裹的标签//匹配每一个关键字字符 函数highLightKeywords(文本,话说,标签){ 标签=标签| |“跨越”;//默认的标签,如果没有指定,使用寿命 var, len=单词。长度、再保险; (我=0;我& lt;兰;我+ +){//正则匹配所有的文本 re=new RegExp([我],' g '); 如果(师(文本)){ 文本=文本。替换(re,”& lt;“+标签+”class=傲恋恪痹诿涝?& lt;/' +标签+ '在'); } } } 返回文本; }
//匹配整个关键词不拆分 功能突出(文本,话说,标签){//默认的标签,如果没有指定,使用寿命 标签=标签| |“跨越”; var, len=words.length, 再保险;//匹配每一个特殊字符,进行转义 var specialStr=(“*”、“。”& # 63;“、“+”、“$”,“^”,“[”、“]”,“{”、“}”,“|”,“\ \”,“(”、“)”、“/薄ⅰ?”); 美元。每个(specialStr,函数(我项){ 如果(words.indexOf(项目)!=1){ 单词=单词。替换(新RegExp(“\ \”+项目,“g”),“\ \”+项目); } });//匹配整个关键词 re=new RegExp(话说,‘g’); 如果(师(文本)){ 文本=文本。替换(re,”& lt;“+标签+”class=傲恋恪痹诿涝?& lt;/' +标签+ '在'); } 返回文本; }
以上所述是小编给大家介绍的JS实现关键词高亮显示正则匹配,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!