有没有能检索网页关键字的js插件?能做到像浏览器ctrl+F搜索那种功能

最近在开发这样一个需求:

用户用百度的ueditor编辑正文,然后在手机上需要做一个检索正文关键字的功能

但是遇到了如下问题:

比如用户检索的关键字是“刑法第56条”,正文上确实有该关键字,但实际上该文本经过ueditor的处理后变成了“刑法第56条”,如此,导致检索不出这个关键字

请问有没有什么好方法或插件能解决这样的问题?

经过ueditor的处理后变成了“刑法span第56条/span”

网上找到一段代码能实现无html标签的查找,能否改造成如上的需求?
function encode(s){
var str = s.replace(/&/g,"&").replace(//g,">").replace(/([\.*[]()\$^])/g,"\$1");
console.log('encode:'+str);
return str;
}
function decode(s){
var str = s.replace(/\([\.*[]()\$^])/g,"$1").replace(/>/g,">").replace(/ console.log('decode:'+str);
return str;
}
function highlight(s){
if (s.length==0){
return false;
}
s=encode(s);
var obj=document.getElementsByTagName("body")[0];
var t=obj.innerHTML.replace(/([^<>]*)<\/span>/gi,"$1");
obj.innerHTML=t;
var cnt=loopSearch(s,obj);
t=obj.innerHTML
var r=/{searchHL}(({(?!\/searchHL})|[^{])*){\/searchHL}/g
t=t.replace(r,"$1");
obj.innerHTML=t;
// alert("搜索到关键词"+cnt+"处")
}
function loopSearch(s,obj){
var cnt=0;
if (obj.nodeType==3){
cnt=replace(s,obj);
return cnt;
}
for (var i=0,c;c=obj.childNodes[i];i++){
if (!c.className||c.className!="highlight")
cnt+=loopSearch(s,c);
}
return cnt;
}
function replace(s,dest){
var r=new RegExp(s,"g");
var tm=null;
var t=dest.nodeValue;
var cnt=0;
if (tm=t.match(r)){
cnt=tm.length;
t=t.replace(r,"{searchHL}"+decode(s)+"{/searchHL}")
dest.nodeValue=t;
}
return cnt;
}

__