中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS實現關鍵詞高亮顯示正則匹配

發布時間:2020-10-25 06:24:07 來源:腳本之家 閱讀:402 作者:山海之間 欄目:web開發

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

比如匹配后臺傳回的字符串data.content中的關鍵詞:直接調用:

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

 以下兩個函數分辨是匹配1:匹配關鍵詞words中每一個字符,2:匹配整個關鍵詞words

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

總結

以上所述是小編給大家介紹的JS實現關鍵詞高亮顯示正則匹配,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民乐县| 麟游县| 波密县| 隆子县| 桑日县| 南乐县| 阿克苏市| 阿拉善右旗| 吉木乃县| 江孜县| 长泰县| 普兰县| 河北省| 海宁市| 治县。| 左云县| 任丘市| 交口县| 安福县| 花垣县| 衡南县| 衡阳县| 淄博市| 丰顺县| 沛县| 宣城市| 陈巴尔虎旗| 伊春市| 西青区| 大姚县| 珠海市| 磴口县| 华池县| 金门县| 平定县| 昭平县| 红桥区| 长岛县| 雅江县| 抚松县| 随州市|