zoukankan      html  css  js  c++  java
  • 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")
    %>

  • 相关阅读:
    java实现操作系统磁盘寻道先来先服务算法
    专业素养:发布文件,别忘了给出校验信息
    vue系列教程-08vue的动画和过渡效果
    vue系列教程-07vue动态绑定样式
    vue系列教程-06vue的事件处理
    vue系列教程-05vue常用指令
    vue系列教程-04vue数据处理和页面渲染
    vue系列教程-03vuejs的结构和生命周期
    vue系列教程-01第一个vue程序
    vue系列教程-02什么是mvvm和spa
  • 原文地址:https://www.cnblogs.com/zerogo/p/2209202.html
Copyright © 2011-2022 走看看