加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-07-21 13:13:39 所属栏目:Asp教程 来源:
导读:目前还是有BUG的,最新的测试页面在: http://www.reallydo.com/getimg.asp正则分析页面在: http://jorkin.reallydo.com/article.asp?id=380 发现BUG请在后面留言,谢谢.1.31修正src=后面有空格不能正确匹配.已修正.src

目前还是有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" 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章