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 相关文章推荐
jQuery.Validate 使用笔记(jQuery Validation范例 )
Jun 25 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
Mar 24 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
基于jquery实现无限级树形菜单
Mar 22 Javascript
js实现动态显示时间效果
Mar 06 Javascript
JavaScript编写一个贪吃蛇游戏
Mar 09 Javascript
vue-router实现tab标签页(单页面)详解
Oct 17 Javascript
Vue与Node.js通过socket.io通信的示例代码
Jul 25 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
Nov 12 Javascript
google广告之另类js调用实现代码
Aug 22 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
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
详细介绍Python语言中的按位运算符
2013/11/26 Python
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python正则捕获操作示例
2017/08/19 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
Joie官方网上商店:购买服装和女装配饰
2018/06/05 全球购物
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
省级四好少年事迹材料
2014/01/25 职场文书
yy司仪主持词
2014/03/22 职场文书
请假条怎么写
2014/04/10 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技