js+正文规则 高亮搜索关键字
采用的:
function HighlightText(obj,keyword)
{
if(document.referrer){
var reg=new RegExp(keyword,"g"); //创建正则RegExp对象
var regdx=keyword;
var data=document.getElementById(obj).innerHTML;//替换范围获取源代码
document.getElementById(obj).innerHTML=data.replace(reg,'<span class="cC30">'+regdx+'</span>');//根据正则表达式替换
var reg=new RegExp(keyword.toLowerCase(),"g"); //创建正则RegExp对象
var regdx=keyword.toLowerCase();
var data=document.getElementById(obj).innerHTML;//替换范围获取源代码
document.getElementById(obj).innerHTML=data.replace(reg,'<span class="cC30">'+regdx+'</span>');//根据正则表达式替换
var reg=new RegExp(keyword.toUpperCase(),"g"); //创建正则RegExp对象
var regdx=keyword.toUpperCase();
var data=document.getElementById(obj).innerHTML;//替换范围获取源代码
document.getElementById(obj).innerHTML=data.replace(reg,'<span class="cC30">'+regdx+'</span>');//根据正则表达式替换
}
}
window.onload=function(){HighlightText('news','123');};
网络资源:
javascript控制关键字高亮显示
function SearchHighlight(mytag)
{
if
(
!
document.createElement)
{
return
;
}
var q
=
"
{{$q}}
"
;
//
要高亮显示的关键字
var l
=
document.getElementsByTagName(mytag);
if
(
""
==
q)
return
;
words
=
unescape(q.replace(
/+/
g,
'
'
)).split(
/
s
+/
);
for
(w
=
0
;w
<
words.length;w
++
)
{
for
(i
=
0
;i
<
l.length;i
++
)
{
var pa
=
new
RegExp(
"
(
"
+
words[w]
+
"
)
"
,
"
ig
"
);
if
(l.parentNode.parentNode.parentNode.id
!=
"
header
"
)
//
标题中的内容不替换
l.innerHTML
=
l.innerHTML.replace(pa,
"
<span class=
"
searchword
"
>$1</span>
"
);
}
}
}
1、正则表达式
2、向后引用
调用方法:
document.onload
=
SearchHighlight(”a”);//要搜索的标签名称,这里的意思是凡是形如<a></a>的标记中的内容,包含关
键字的时候均高亮显示。然后把下面的CSS定义加到你的CSS文件里或者直接加到HTML文件中
.searchword{background-color:yellow;}
那么所有的关键字(不论大小写)将显示为黄色背景。
有待分析!

浙公网安备 33010602011771号