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 相关文章推荐
js function定义函数使用心得
Apr 15 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 Javascript
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
在JavaScript中重写jQuery对象的方法实例教程
Aug 25 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
举例简介AngularJS的内部语言环境
Jun 17 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
May 22 Javascript
jquery+php后台实现省市区联动功能示例
May 23 jQuery
javascript系统时间设置操作示例
Jun 17 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
Jun 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
session在PHP大型web应用中的使用
2011/06/25 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
PHP7 其他修改
2021/03/09 PHP
利用javascript查看html源文件
2006/11/08 Javascript
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
浅谈js原生拖放
2016/11/21 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
js实现文字头像的生成代码
2020/03/07 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
python模糊图片过滤的方法
2018/12/14 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
超简单的Python HTTP服务
2019/07/22 Python
普通院校学生的自荐信
2013/11/27 职场文书
房地产开盘策划方案
2014/02/10 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
致共产党员倡议书
2014/04/16 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
销售人员工作自我评价
2014/09/21 职场文书
出售房屋协议书范本
2014/10/06 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
神秘岛读书笔记
2015/07/01 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
python高温预警数据获取实例
2022/07/23 Python