开发者

vbscript regex get img src URL

What I am trying to do, is get the IMG SRC URL from stringXML below. (i.e. http://www.webserver.com/picture.jpg)

This is what I have, but it is only giving me true/false:

<%
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
%>

I basic开发者_开发百科ally want to ONLY get the IMG SRC value..

Any ideas why this line isn't working 'response.write objRegExMatchItem.Value'?

Cheers, Drew


Try:

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜