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


Posted in Javascript onApril 03, 2014
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-type" content="text/html;charset=utf-8" /> 
<title>关键字高亮显示</title> 
</head> 
<body> 
<div class="result" id="textbox"> 
<p>百度(Nasdaq简称:BIDU)是全球最大的中文搜索引擎,2000年1月由李彦宏、徐勇两人创立于北京中关村,致力于向人们提供“简单,可依赖”的</p> 
<p>信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。</p> 
</div> 
<script> 
function highlight(idVal, keyword) { 
var textbox = document.getElementById(idVal); 
if ("" == keyword) return; 
//获取所有文字内容 
var temp = textbox.innerHTML; 
console.log(temp); 
var htmlReg = new RegExp("\<.*?\>", "i"); 
var arr = new Array(); //替换HTML标签 
for (var i = 0; true; i++) { 
//匹配html标签 
var tag = htmlReg.exec(temp); 
if (tag) { 
arr[i] = tag; 
} else { 
break; 
} 
temp = temp.replace(tag, "{[(" + i + ")]}"); 
} 

// 讲关键词拆分并入数组 
words = decodeURIComponent(keyword.replace(/\,/g, ' ')).split(/\s+/); 
//替换关键字 
for (w = 0; w < words.length; w++) { 
// 匹配关键词,保留关键词中可以出现的特殊字符 
var r = new RegExp("(" + words[w].replace(/[(){}.+*?^$|\\\[\]]/g, "\\$&") + ")", "ig"); 
temp = temp.replace(r, "<b style='color:Red;'>$1</b>"); 
} 
//恢复HTML标签 
for (var i = 0; i < arr.length; i++) { 
temp = temp.replace("{[(" + i + ")]}", arr[i]); 
} 
textbox.innerHTML = temp; 
} 
highlight("textbox","百度,李彦宏"); 
</script> 
</body> 
</html>
Javascript 相关文章推荐
showModelessDialog()使用详解
Sep 21 Javascript
js实现双向链表互联网机顶盒实战应用实现
Oct 28 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
Aug 02 Javascript
jQuery中nextAll()方法用法实例
Jan 07 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
Mar 05 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
简单实现js鼠标跟随效果
Aug 02 Javascript
什么是Vue.js框架 为什么选择它?
Oct 17 Javascript
js数据类型检测总结
Aug 05 Javascript
详解Vue2.0组件的继承与扩展
Nov 23 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
JS实现碰撞检测效果
Mar 12 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
Apr 03 #Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 #Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 #Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 #Javascript
document.compatMode的CSS1compat使用介绍
Apr 03 #Javascript
javascript实现des解密加密全过程
Apr 03 #Javascript
无刷新预览所选择的图片示例代码
Apr 02 #Javascript
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
PHP中的float类型使用说明
2010/07/27 PHP
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
js随机生成一个验证码
2017/06/01 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
运动会通讯稿400字
2014/01/28 职场文书
员工考核管理制度
2014/02/02 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
个人安全生产承诺书
2014/05/22 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
2014年班务工作总结
2014/12/02 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
写给导师的自荐信
2015/03/06 职场文书