Highlight patterns within strings


复制代码 代码如下:

Replaces pattern with highlighted replacement (using style) and preserves case  
Public Function highlight(strText, strFind)  
    Dim objRegExp, i, strHighlight  

    Split the search terms into an array  
    Dim arrFind  
    arrFind = Split(strFind, " ")  

    Initialize the regular expression object to perfom the search  
    Dim oMatches, sMatch  
    Set oregExp = New RegExp  

    oregExp.Global = True Returns all matches to the search term  
    oregExp.IgnoreCase = True Case insensitive  

    Loop through the array of search terms to find matches  
    For i = 0 to UBound(arrFind)  
        oregExp.Pattern = arrFind(i) Sets the search pattern string  
        Set oMatches = oregExp.Execute(strText) // performs the search   
        for each match in oMatches  
            Build the code to be used to highlight results  
            strHighlight = "<span class=""highlight"">" & match.value & "</span>"  
        next  
        Replace matches from the search with the above code  
        strText = oregExp.Replace(strText, strHighlight)  
     Next  

    highlight = strText  

    Set objRegExp = Nothing  
End Function