目录

asp实现关键词不区分大小写搜索并高亮显示

目录

asp实现关键词不区分大小写搜索并高亮显示

用ASP做搜索很容易,但要实现智能搜索这类就比较累一点,其实任何程序都差不多,主要还是看数据库的处理能力,一般小网站ASP经常跟ACCESS数据库搭配,在这种配置下我们要实现关键词不区分大小写搜索并高亮显示要借助ASP的正则处理了,请看下面代码:

<%

Function Takeout(patrn,string1,colors)

‘提取搜索关键字匹配文字

Dim regEx, Match, Matches, tt ’ 建立变量。

Set regEx = New RegExp ’ 建立正则表达式。

regEx.Pattern = patrn ’ 设置模式。

regEx.IgnoreCase = True ’ 设置是否区分大小写。

regEx.Global = True ’ 设置全局可用性。

Set Matches = regEx.Execute(string1) ’ 执行搜索。

For Each Match in Matches ’ 遍历 Matches 集合。

RetStr = RetStr & Match.Value & " "

Next

RetStr = trim(RetStr)

if instr(RetStr," “)>0 then

for tt = 0 to ubound(split(RetStr,” “))

string1 = replace(string1,split(RetStr,” “)(tt),"<font color=”""&colors&""">"&split(RetStr," “)(tt)&"”)

next

else

string1 = replace(string1,RetStr,"<font color="""&colors&""">"&RetStr&"")

end if

Takeout = string1

End Function

response.write Takeout(“jOeKOe”, “Joekoe乔客双语版”,“red”)

Function Highlight(strContent,keyword) ‘标记高亮关键字

Dim RegEx

Set RegEx=new RegExp

RegEx.IgnoreCase =True ‘不区分大小写

RegEx.Global=True

Dim ArrayKeyword,i

ArrayKeyword = Split(keyword," “)‘用空格隔开的多关键字

For i=0 To Ubound(ArrayKeyword)

RegEx.Pattern=”("&ArrayKeyword(i)&")"

strContent=RegEx.Replace(strContent,"$1" )

Next

Set RegEx=Nothing

Highlight=strContent

End Function

response.write Highlight(“Joekoe乔客双语版”,“jOeKOe”)

%>