匹配搜尋關鍵高亮 new RegEXP 填坑
需求:在搜尋框輸入關鍵字,點選搜尋查詢內容,在正文中匹配搜尋關鍵字的內容高亮顯示
使用 new RegEXP 實現
matchKeyword (searchKeyword, value) { // searchKeyword搜尋關鍵字, value正文內容
if (value) {
value = value + '' //轉化為字串型別
} else {
return
}
if (searchKeyword && searchKeyword.length > 0) {
let searchKeywords = searchKeyword.split(' ');
for (let i = 0; i < searchKeywords.length; i++) {
if (searchKeywords[i] !== '') { //排除掉空字串,開始沒有考慮空值、空格情況,導致
//全文都被匹配
let replaceReg = new RegExp(searchKeywords[i], 'gi');
let replaceString = '<span style="background-color:#ffc600;color: #000 ">' + searchKeywords[i] + '</span>';
value = value.replace(replaceReg, replaceString);
}
}
return value //返回替換後加上高亮樣式的正文內容
} else {
return value;
}
}
<p v-html="matchKeyword(key,value)"></p>
用v-html 去解析返回的內容,這樣樣式(html標籤)才會被解析
注意:一定要考慮 searchKeywords[i] 為空,導致 replaceReg 值為空的情況 ,當 replaceReg為空時,它與全文都能匹配,最後的結果是全文均能被匹配上,加上高亮樣式。
解決:1.關鍵字串包含多個用空格隔開的字串,把關鍵字分隔成陣列時,同時去除多餘字串
2.字串分隔成陣列之後,判斷如果為空陣列則不進行匹配操作(如上文)
相關文章
- JavaScript 搜尋關鍵字高亮效果JavaScript
- jquery搜尋關鍵詞高亮效果jQuery
- javascript搜尋關鍵字高亮效果JavaScript
- 微信小程式實現搜尋關鍵詞高亮微信小程式
- vue2實現搜尋結果中的搜尋關鍵字高亮Vue
- 將搜尋關鍵詞高亮顯示例項程式碼
- 1688關鍵字搜尋新品資料API介面(item_search_new-按關鍵字搜尋新品API
- jQuery的搜尋關鍵詞自動匹配外掛jQuery
- ionic2/ionic3 實現搜尋結果中的搜尋關鍵字高亮
- jQuery搜尋框關鍵字自動匹配提示詳解jQuery
- 將搜尋關鍵字設定為高亮顯示例項程式碼
- js搜尋關鍵詞自動匹配功能程式碼例項JS
- 搜尋框關鍵字智慧匹配例項程式碼例項
- 直播平臺搭建,uni-app 實現搜尋關鍵詞高亮效果APP
- 帝國CMS搜尋列表頁關鍵字高亮的更改實現方法教程
- 直播電商平臺開發,uni-app 實現搜尋關鍵詞高亮效果APP
- TextView搜尋文字高亮顯示TextView
- 易優cms 搜尋結果頁讓關鍵詞高亮飄紅 Eyoucms快速入門
- 1688關鍵字搜尋介面
- BM42:語義搜尋與關鍵詞搜尋結合
- 搜尋Oracle DDL中的關鍵字Oracle
- 語音技術——關鍵詞搜尋
- 搜尋檔案中的關鍵字
- Idea全域性搜尋關鍵字Idea
- laravel Es搜尋 檢索高亮顯示Laravel
- item_search - 按關鍵字搜尋商品
- 淘寶API,按關鍵字搜尋淘寶商品API
- 1688關鍵字搜尋介面測試
- 填坑-關於IIC通訊
- 如何高效利用 GitHub 關鍵字進行搜尋Github
- 電商API分享:京東按關鍵字搜尋商品API
- SQL隱碼攻擊點搜尋關鍵字SQL
- 完成搜尋模組功能,引入搜尋頁面。接收並封裝使用者的搜尋關鍵字、三級分類id、屬性值列表,對es執行查詢操作,並設定高亮!封裝
- Android 高亮關鍵字TextViewAndroidTextView
- 前端知識填坑記(二):call和apply,bind ,new前端APP
- 填坑Ⅱ
- grep搜尋伺服器日誌(搜尋指定關鍵字的行,按照日期group by count)伺服器
- 網站最佳化搜尋引擎與關鍵詞網站