欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)現(xiàn)關(guān)鍵詞高亮顯示正則匹配

 更新時(shí)間:2018年06月22日 11:22:18   作者:山海之間  
這篇文章主要介紹了JS實(shí)現(xiàn)關(guān)鍵詞高亮顯示正則匹配功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

html 和ajax 部分就不寫了,只需將需要匹配的文字傳進(jìn)去就可以了 

比如匹配后臺(tái)傳回的字符串data.content中的關(guān)鍵詞:直接調(diào)用:

data.content = highLightKeywords(data.content,keywords)即可

 以下兩個(gè)函數(shù)分辨是匹配1:匹配關(guān)鍵詞words中每一個(gè)字符,2:匹配整個(gè)關(guān)鍵詞words

//高亮關(guān)鍵字 text =>內(nèi)容 words:關(guān)鍵詞  tag 被包裹的標(biāo)簽
//匹配每一個(gè)關(guān)鍵字字符
function highLightKeywords(text, words, tag) {
tag = tag || 'span';// 默認(rèn)的標(biāo)簽,如果沒有指定,使用span
var i, len = words.length, re;
for (i = 0; i < len; i++) {
// 正則匹配所有的文本
re = new RegExp(words[i], 'g');
if (re.test(text)) {
text = text.replace(re, '<'+ tag +' class="highlight">$&</'+ tag +'>');
}
}
}
return text;
}
//匹配整個(gè)關(guān)鍵詞 不拆分
function highlight(text, words, tag) {
// 默認(rèn)的標(biāo)簽,如果沒有指定,使用span
tag = tag || 'span';
var i, len = words.length,
re;
//匹配每一個(gè)特殊字符 ,進(jìn)行轉(zhuǎn)義
var specialStr = ["*", ".", "?", "+", "$", "^", "[", "]", "{", "}", "|", "\\", "(", ")", "/", "%"]; 
$.each(specialStr, function(i, item) {
if(words.indexOf(item) != -1) {
words = words.replace(new RegExp("\\" + item, 'g'), "\\" + item);
}
});
//匹配整個(gè)關(guān)鍵詞
re = new RegExp(words, 'g');
if(re.test(text)) {
text = text.replace(re, '<' + tag + ' class="highlight">$&</' + tag + '>');
}
return text;
}

總結(jié)

以上所述是小編給大家介紹的JS實(shí)現(xiàn)關(guān)鍵詞高亮顯示正則匹配,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論