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 相关文章推荐
Javascript----文件操作
Jan 18 Javascript
Ext 表单布局实例代码
Apr 30 Javascript
Javascript弹出窗口的各种方法总结
Nov 11 Javascript
javascript实现文本域写入字符时限定字数
Feb 12 Javascript
浅谈JavaScript for循环 闭包
Jun 22 Javascript
AngularJS 自定义指令详解及示例代码
Aug 17 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
Feb 07 Javascript
js实现模糊匹配功能
Feb 15 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
Jun 21 Javascript
使用InstantClick.js让页面提前加载200ms
Sep 12 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
Vue开发之watch监听数组、对象、变量操作分析
Apr 25 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
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
如何利用python发送邮件
2020/09/26 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
自荐信模版
2013/10/24 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
2014社区三八妇女节活动方案
2014/03/30 职场文书
车辆工程专业求职信
2014/04/28 职场文书
护理专业毕业生自荐信
2014/06/15 职场文书
生产操作工岗位职责
2014/09/16 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang