• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP获取网页全部图片地址并保存为数组的正则
    目前还是有BUG的,最新的测试页面在: http://www.reallydo.com/getimg.asp
    正则分析页面在: http://jorkin.reallydo.com/article.asp?id=380 
    发现BUG请在后面留言,谢谢.
    1.31修正
    src=后面有空格不能正确匹配.已修正.
    src=''为空时出错.已修正.
    发现BUG: 图片路径有多个空格时只能保留一个.未修正.
    2.18修正
    图片路径有多个空格时只能保留一个的BUG.已修正.
    复制代码 代码如下:


    '功能:获取全部图片地址,保存到一个数组. 
    '来源:http://jorkin.reallydo.com/article.asp?id=448 
    '需要ReplaceAll函数:http://jorkin.reallydo.com/article.asp?id=406 

    Function getIMG(sString) 
        Dim sReallyDo, regEx, iReallyDo 
        Dim oMatches, cMatch 
        '//定义一个空数组 
        iReallyDo = -1 
        ReDim aReallyDo(iReallyDo) 
        If IsNull(sString) Then 
            getIMG = "" 
            Exit Function 
        End If 
        '//格式化HTML代码 
        '//将每个 img 换行 方便正则替换 
        sReallyDo = sString 
        On Error Resume Next 
        sReallyDo = Replace(sReallyDo, vbCr, " ") 
        sReallyDo = Replace(sReallyDo, vbLf, " ") 
        sReallyDo = Replace(sReallyDo, vbTab, " ") 
        sReallyDo = Replace(sReallyDo, "img ", vbCrLf  "img ", 1, -1, 1) 
        sReallyDo = Replace(sReallyDo, "/>", " />", 1, -1, 1) 
        sReallyDo = ReplaceAll(sReallyDo, "= ", "=", True) 
        sReallyDo = ReplaceAll(sReallyDo, "> ", ">", True) 
        sReallyDo = Replace(sReallyDo, ">", ">"  vbCrLf  "") 
        sReallyDo = Trim(sReallyDo) 
        On Error GoTo 0 
        Set regEx = New RegExp 
        regEx.IgnoreCase = True 
        regEx.Global = True 
        '//去除onclick,onload等脚本 
        regEx.Pattern = "\s[on].+?=([\""|\'])(.*?)1" 
        sReallyDo = regEx.Replace(sReallyDo, "") 
        '//将SRC不带引号的图片地址加上引号 
        regEx.Pattern = "img.*?ssrc=([^\""\'\s][^\""\'\s>]*).*?>" 
        sReallyDo = regEx.Replace(sReallyDo, "img src=""$1"" />") 
        '//正则匹配图片SRC地址 
        regEx.Pattern = "img.*?ssrc=([\""\'])([^\""\']+?)1.*?>" 
        Set oMatches = regEx.Execute(sReallyDo) 
        '//将图片地址存入数组 
        For Each cMatch in oMatches 
            iReallyDo = iReallyDo + 1 
            ReDim Preserve aReallyDo(iReallyDo) 
            aReallyDo(iReallyDo) = regEx.Replace(cMatch.Value, "$2") 
        Next 
        getIMG = aReallyDo 
    End Function 
    %> 
    上一篇:asp事物功能简单小应用
    下一篇:通过客户端验证上传图片文件大小的ASP源码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP获取网页全部图片地址并保存为数组的正则 ASP,获取,网页,全部,图片,