匹配搜尋關鍵高亮 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
- vue2實現搜尋結果中的搜尋關鍵字高亮Vue
- 微信小程式實現搜尋關鍵詞高亮微信小程式
- 1688關鍵字搜尋新品資料API介面(item_search_new-按關鍵字搜尋新品API
- ionic2/ionic3 實現搜尋結果中的搜尋關鍵字高亮
- 直播平臺搭建,uni-app 實現搜尋關鍵詞高亮效果APP
- 帝國CMS搜尋列表頁關鍵字高亮的更改實現方法教程
- 1688關鍵字搜尋介面
- 易優cms 搜尋結果頁讓關鍵詞高亮飄紅 Eyoucms快速入門
- 直播電商平臺開發,uni-app 實現搜尋關鍵詞高亮效果APP
- Idea全域性搜尋關鍵字Idea
- BM42:語義搜尋與關鍵詞搜尋結合
- 1688關鍵字搜尋介面測試
- 語音技術——關鍵詞搜尋
- 搜尋Oracle DDL中的關鍵字Oracle
- laravel Es搜尋 檢索高亮顯示Laravel
- item_search - 按關鍵字搜尋商品
- 按關鍵字搜尋dangdang商品返回展示
- Android 高亮關鍵字TextViewAndroidTextView
- 前端知識填坑記(二):call和apply,bind ,new前端APP
- idea全域性搜尋的快捷鍵 idea搜尋內容快捷鍵Idea
- 如何高效利用 GitHub 關鍵字進行搜尋Github
- 填坑-關於IIC通訊
- 完成搜尋模組功能,引入搜尋頁面。接收並封裝使用者的搜尋關鍵字、三級分類id、屬性值列表,對es執行查詢操作,並設定高亮!封裝
- grep搜尋伺服器日誌(搜尋指定關鍵字的行,按照日期group by count)伺服器
- 淘寶API,按關鍵字搜尋淘寶商品API
- 1688按關鍵字搜尋新品資料說明
- 網站最佳化搜尋引擎與關鍵詞網站
- 填坑Ⅱ
- JavaFx 關鍵字高亮文字實現Java
- HTML高亮關鍵字真麻煩HTML
- 小程式搜尋自定義關鍵詞功能關閉意欲何為?
- JavaScript new 關鍵詞解析及原生實現 newJavaScript
- 淘寶API介面:獲得關鍵詞搜尋推薦API
- 電商API分享:京東按關鍵字搜尋商品API
- 微信小程式實現全域性搜尋程式碼高亮微信小程式
- 盯上高考志願填報,夸克的搜尋野心
- bing/google/百度高階搜尋技巧--搜尋時關鍵詞不拆分,僅搜尋某個站點或僅要求pdf/doc格式搜尋結果等等Go