vbscript正则表达式获取img src URL

时间:2011-07-13 03:40:30

标签: regex vbscript asp-classic

我要做的是从下面的 stringXML 获取IMG SRC网址。 (即http://www.webserver.com/picture.jpg

这就是我所拥有的,但它只给我真/假:

<%
stringXML="<a href="http://www.webserver.com/"><img src="http://www.webserver.com/picture.jpg"/></a><br>Some text here, blah blah blah."

Dim objRegex
    Set objRegex = New Regexp
        With objRegEx
            .IgnoreCase = True
            .Global = True  
            .Multiline = True
    End with  

strRegexPattern = "\<img\s[^\>]*?src=[""'][^\>]*?(jpg|bmp|gif)[""']"


objRegEx.Pattern = strRegexPattern

        response.write objRegEx.Test(stringXML)

If objRegEx.Test(stringXML) = True Then
    'The string has a tags.

    'Match all A Tags
    Set objRegExMatch = objRegEx.Execute(stringXML)

    If objRegExMatch.Count > 0 Then
        Redim arrAnchor(objRegExMatch.Count - 1)
        For Each objRegExMatchItem In objRegExMatch
          response.write objRegExMatchItem.Value
        Next
    End If
End If
%>

我基本上只想获得IMG SRC值..

为什么这行不起作用的任何想法'response.write objRegExMatchItem.Value'?

干杯, 德鲁

1 个答案:

答案 0 :(得分:2)

尝试:

Function getImgTagURL(HTMLstring)
    Set RegEx = New RegExp
    With RegEx
        .Pattern = "src=[\""\']([^\""\']+)"
        .IgnoreCase = True
        .Global = True
    End With

    Set Matches = RegEx.Execute(HTMLstring)
    'Iterate through the Matches collection.
    URL = ""
    For Each Match in Matches
        'We only want the first match.
        URL = Match.Value
        Exit For
    Next
    'Clean up
    Set Match = Nothing
    Set RegEx = Nothing
    ' src=" is hanging on the front, so we will replace it with nothing
    getImgTagURL = Replace(URL, "src=""", "")
End Function