通过Js实现高亮显示

虾米链接:http://2814704901.iteye.com/blog/1930420

Js实现高亮显示,也是本人在网上看到的并运用到了舆情监控系统中。

这个例子仅仅使用与字体较少的关键字 如果关键字较长  则应该使用中文分词进行处理。

Luence中有专门的高亮显示架包   之前的博客中也简单提过

Js代码如下:

//pucl是你要进行高亮显示的标签对象  如div中的内容或者td中的内容

var pucl=$("#div");

keyword  就是你要高亮显示的字体   如:“北京”

function SearchHighlight(pucl, keyword) {

if ("" == keyword) {

return;

}

var temp = pucl.innerHTML;

var htmlReg = new RegExp("\<.*?\>", "i");

var arrA = new Array();

//替换HTML标签 

for ( var i = 0; true; i++) {

var m = htmlReg.exec(temp);

if (m) {

arrA[i] = m;

} else {

break;

}

temp = temp.replace(m, "{[(" + i + ")]}");

}

words = unescape(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 < arrA.length; i++) {

temp = temp.replace("{[(" + i + ")]}", arrA[i]);

}

pucl.innerHTML = temp;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值