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 loading效果代码
Jun 18 Javascript
JS构建页面的DOM节点结构的实现代码
Dec 09 Javascript
页面按钮禁用与解除禁用的方法
Feb 19 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
jQuery实现自动调用和触发某个事件的方法
Nov 18 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
详解小程序原生使用ES7 async/await语法
Aug 06 Javascript
js中getter和setter用法实例分析
Aug 14 Javascript
express express-session的使用小结
Dec 12 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
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
个人站长制做网页常用的php代码
2007/03/03 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP实现微信退款功能
2018/10/02 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
python得到windows自启动列表的方法
2018/10/14 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
python IDLE添加行号显示教程
2020/04/25 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
python绘制雷达图实例讲解
2021/01/03 Python
如何开启linux的ssh服务
2015/02/14 面试题
《桃林那间小木屋》教学反思
2014/05/01 职场文书
市场营销专业求职信
2014/06/17 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技