您当前的位置: 首页 > 网站编程 > ASP教程 > ASP获取网页全部图片地址并保存到数组

ASP获取网页全部图片地址并保存到数组

作者:guanchaofeng 来源:本站整理 发布时间: 2009-04-19 22:15 点击:
1.31修正 src=后面有空格不能正确匹配.已修正. src=''为空时出错.已修正. 发现BUG: 图片路径有多个空格时只能保留一个.未修正. 2.18修正 图片路径有多个空格时只能保留一个的BUG.已修正. 以下是代码: % 功能:获取全部图片地址,保存到一个数组. 来源:http://

ASP获取网页全部图片地址并保存到数组

  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获取网页全部图片地址并保存到数组"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4