java 关键字高亮_关键字检索高亮标出-javasript/jQuery代码实现

原文:http://www.open-open.com/code/view/1454504432089

此方法传入2个参数,一个是被检索内容所在的表单或者HTML元素的ID,另一为关键字,多个关键字的话,以空格隔开,下边直接上代码分享给大家:

/*关键词检索高亮标出

*param idHtmlContent 需要检索的HTML内容ID

*param keyword 关键字,多个以空格隔开

*/

function keywordHighlight(idHtmlContent,keyword) {

var content= $("#"+idHtmlContent).html();//获取内容

if ($.trim(keyword)==""){

return;//关键字为空则返回

}

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

var arrA = new Array();

//替换HTML标签

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

var m = htmlReg.exec(content);

if (m) {

arrA[i] = m;

}else {

break;

}

content = content.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");

content = content.replace(r, ""+words[w]+"");//关键字样式

}

//恢复HTML标签

for (var i = 0; i < arrA.length; i++) {

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

}

$("#"+idHtmlContent).html(content);

}

效果:

20160203204924_580.png

注意,如果你是获取的js网页编辑器里的内容,直接传入textarea的ID是不行的,结果是改变了但是样式是显示不出来的,最后的代码应该像这样:

var obj = KindEditor.create('textarea[id="' + containerId + '"]', config);

obj.html(改变后的内容);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值