• 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)&"</font>") 
    next 
    else 
    string1 = replace(string1,RetStr,"<font color="""&colors&""">"&RetStr&"</font>") 
    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,"<font color=red>$1</font>" ) 
    Next 
    Set RegEx=Nothing 
    Highlight=strContent 
    End Function 
    response.write Highlight("Joekoe乔客双语版","jOeKOe") 
    %>
    

      

  • 相关阅读:
    二分查找 && 三分查找
    LeetCode || 大杂烩w
    LeetCode || 递归 / 回溯
    LeetCode || 双指针 / 单调栈
    HITICS || 2018大作业 程序人生 Hello's P2P
    思维 || Make It Equal
    国庆集训 || Wannafly Day4
    国庆集训 || Wannafly Day1
    区间DP || HDU 6249 Alice’s Stamps
    10进制转k进制
  • 原文地址:https://www.cnblogs.com/uuxanet/p/3282838.html
Copyright © 2020-2023  润新知