Rumah >hujung hadapan web >tutorial js >javascript实现页面内关键词高亮显示代码_javascript技巧

javascript实现页面内关键词高亮显示代码_javascript技巧

WBOY
WBOYasal
2016-05-16 16:53:291080semak imbas
复制代码 代码如下:





关键字高亮显示



百度(Nasdaq简称:BIDU)是全球最大的中文搜索引擎,2000年1月由李彦宏、徐勇两人创立于北京中关村,致力于向人们提供“简单,可依赖”的


信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。



<script> <BR>function highlight(idVal, keyword) { <BR>var textbox = document.getElementById(idVal); <BR>if ("" == keyword) return; <BR>//获取所有文字内容 <BR>var temp = textbox.innerHTML; <BR>console.log(temp); <BR>var htmlReg = new RegExp("\<.*?\>", "i"); <BR>var arr = new Array(); <br><br>//替换HTML标签 <BR>for (var i = 0; true; i++) { <BR>//匹配html标签 <BR>var tag = htmlReg.exec(temp); <BR>if (tag) { <BR>arr[i] = tag; <BR>} else { <BR>break; <BR>} <BR>temp = temp.replace(tag, "{[(" + i + ")]}"); <BR>} <br><br><BR>// 讲关键词拆分并入数组 <BR>words = decodeURIComponent(keyword.replace(/\,/g, ' ')).split(/\s+/); <br><br>//替换关键字 <BR>for (w = 0; w < words.length; w++) { <BR>// 匹配关键词,保留关键词中可以出现的特殊字符 <BR>var r = new RegExp("(" + words[w].replace(/[(){}.+*?^$|\\\[\]]/g, "\\$&") + ")", "ig"); <BR>temp = temp.replace(r, "<b style='color:Red;'>$1"); <BR>} <br><br>//恢复HTML标签 <BR>for (var i = 0; i < arr.length; i++) { <BR>temp = temp.replace("{[(" + i + ")]}", arr[i]); <BR>} <BR>textbox.innerHTML = temp; <BR>} <BR>highlight("textbox","百度,李彦宏"); <BR></script>


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn