[导入]ASP常用函数:getIMG()

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


文章来源:http://Jorkin.Reallydo.Com/default.asp?id=448

转载于:https://www.cnblogs.com/pboy2925/archive/2008/01/25/1105404.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《浏览器播放RTSP方案》之 VXGPlayer插件播放RTSP视频流

VXGPlayer插件播放RTSP视频流 总体来说vxgplayer是付费插件&#xff0c;更多支持的功能可以去官网详询。作为一个demo研究&#xff0c;检索资料和实现总结如下&#xff1a; 环境搭建 别人有一篇文章总结的很好&#xff0c;就不赘述。直接上链接 整合vxgPlayer使chrome支持vx…

MYSQL优化考虑十个方面

1&#xff09;索引 2&#xff09;sql优化 3&#xff09;锁 4&#xff09;延迟 5&#xff09;参数优化 6&#xff09;连接数 7&#xff09;cpu 8&#xff09;iops 9&#xff09;磁盘 10&#xff09;内存 转载于:https://www.cnblogs.com/zeenzhou/p/11344485.html

vite + vue2 + eslint 项目配置

// npm 和 yarn 皆可&#xff0c;这里以 yarn 举例安装 vue2 环境 yarn create vite// 选择 framework: vanilla // 不选 vue&#xff0c;是因为vue默认是vue3// 自行安装环境 yarn add vite-plugin-vue2 vue-template-compiler -D yarn add vue vue-router vuex // 配置 vue …

初学 Delphi 嵌入汇编[29] - 寄存器所能接受的数值范围

譬如 EAX AX AH AL 四个储存器, 真实存在的其实只有一个 EAX, AX AH AL 不过是不同的访问方式.11111111 11111111 11111111 11111111 : EAX11111111 11111111 11111111 11111111 : AX11111111 11111111 11111111 11111111 : AH11111111 11111111 11111111 11111111 : AL//譬如 …

element form 自定义校验

element-ui 表单校验总结 作为一名前端开发&#xff0c;会遇到各种各样的表单处理。为了给用户更好的体验&#xff0c;行内表单校验及错误展示被广泛使用。由于工作中用到element-ui较多&#xff0c;所以这里简单谈一谈日常工作遇到的【有意思】的表单交互。 element-ui官网链…

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转)

本文将讨论&#xff1a; • 缓存和 Forms 身份验证 • 视图状态和会话状态 • 配置文件属性序列化 • 线程池饱和 • 模拟和设置配置文件 本文使用了下列技术&#xff1a; .NET Framework、ASP.NET、Windows Server 2003 本页内容 LoadControl 和输出缓存会话和输出缓存Fo…

cocos2d-x 3.0 alpha1 生成Qt qch帮助文档

Qt的助手挺好用的. 比chm好多了 cocos2d-x使用doxygen生成文档. 默认生成的是html形式, 需要打开浏览器, 这个是比较耗资源吧 可以修改配置, 让doxygen同时输出qch形式的帮助文档 打开 \cocos2d-x-3.0alpha1\docs\doxygen.config 修改其中几项: GENERATE_QHP YESQHP_NAMESPA…

如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)

.net 1.1中的解决方法(转)1建立一个DataSetHelper类(DataSetHelper.cs) publicclassDataSetHelper...{ public DataSet ds; public DataSetHelper(ref DataSet DataSet) ...{ ds DataSet; } public DataSetHelper() ...{ ds null; } p…

AngularJS中巧用ngModel的$asyncValidators属性写一个验证唯一性的Direcitve

有这样的一个需求&#xff1a;添加用户的时候&#xff0c;根据主键判断当前添加用户的email是否已经被使用。为此&#xff0c;我们需要把主键和email来传递给远程的一个API&#xff0c;让API返回结果&#xff0c;告之当前email是否被使用过。写一个验证email唯一性的Directive&…

ASP技巧:在Access数据库中重命名表

下面代码是用Adox重命名Access表名的示例代码&#xff1a; Dim Conn,ConnStr,oCat,oTbl ConnStr "ProviderMicrosoft.Jet.OLEDB.4.0;Data Source" & Server.MapPath("data.mdb") Set oCatServer.CreateObject("ADOX.Catalog") oCat.Active…

Centos 系统安装NetCore SDK命令以及一系列操作(2)

ok,接下来安装dotnetCore的SDK&#xff0c;访问&#xff1a;https://dotnet.microsoft.com/download&#xff0c; 如下图&#xff0c;选择Linux&#xff0c; 选择一下这个Linux的发行版&#xff0c;我们选择Centos就行&#xff0c;然后执行这些命令去安装SDK&#xff0c;地址如…

这该死的高度,height,clientHeight,scrollHeight,offsetHeight

引言: 虽然有时候界面的设置不是我们这些后台代码人员的工作,但是有时候却难以理解控件生成时的一些怪事,比方在学习webabcd的扩张GridView中固定列时,你或许已经被其中的height,clientHeight,scrollHeight,offsetheight弄得晕晕的了,当然这些都是网页制作的一个基础,将其记下,…

C#高级语法基础知识总结6——字符串集合

字符串 集合 列表声明 Var intListnew List<int>();Var racersnew List<Racer>();List<int> intListnew List<int>(10);//大小为10&#xff0c;倍数增加 使用Capacity属性可以获取和设置集合的容量 使用Count属性可以获取集合的元素个数 Add()方法添加…

瓦尔都窗前的一瞥 ①

面对着围着哥本哈根的、生满了绿草的城堡&#xff0c;是一幢高大的红房子。它的窗子很多&#xff0c;窗子上种着许多凤仙花和青蒿一类的植物。房子内部是一副穷相&#xff1b;里边住的也全是一些穷苦的老人。这就是“瓦尔都养老院”。  看吧&#xff01;一位老倚着窗槛站着&a…

浏览器播放rtsp视频流方案(vlc转http方案)

一.vlc播放器转成http&#xff0c;在浏览器用video标签播放 1.下载vlc播放器 网址:https://www.videolan.org/ 2.安装并打开之后&#xff0c;点击媒体 3.点击打开网络串流&#xff0c;进入到下个页面&#xff0c;在输入框输入自己的rtsp流 4.点击播放旁边的小三角号&#xff0c…

qsort和sort的区别 转载

qsort和sort的区别 First qsort 基本快速排序的方法&#xff0c;每次把数组分成两分和中间的一个划分值&#xff0c;而对于有多个重复值的数组来说&#xff0c;基本排序的效率较低。集成在C语言库函数里面的的qsort函数&#xff0c;使用 三 路划分的方法解决这个问题。所谓三路…

浏览器播放rtsp视频流方案(ffmpeg + nginx转m3u8)

1.下载ffmpeg &#xff0c;传送门&#xff1a;https://ffmpeg.en.softonic.com/ 2.配置环境变量 右击我的电脑---->点击属性&#xff0c;打开左侧高级系统设置 点击下方的环境变量 在下方系统变量中找到path变量&#xff0c;选中点击下方编辑&#xff0c;别点成删除&#…

RIA说文解字

微软 WPF/Sliverlight Adobe AIR&#xff08;Adobe Integrated Runtime&#xff09; Java JavaFX 三种主流RIA开发平台评测报告 评测对象为Adobe Flex&#xff0c;微软的ASP.Net AJAX和Curl RIA平台。 测试发现&#xff0c;ASP.Net AJAX尤其适合B2C也即商家对消费者&#xff08…

酒桌游戏

酒桌游戏 酒桌上&#xff0c;敬酒是比较通俗的方式&#xff0c;但是敬酒就会产生 求人与被求人 的关系。同是同学。可能还是游戏的方式放松些~ 抽手游戏 大家把手伸出来&#xff0c;数1&#xff0c;2&#xff0c;3~~~ 最后一个人&#xff0c;喝酒 两人同叫&#xff0c;两人喝酒…

浏览器播放rtsp视频流方案(ffmpeg + nginx转rtmp)

之前已经更新vlc和m3u8的方案了&#xff0c;这个是最后一个方案&#xff0c;同时&#xff0c;转rtmp的方案也是我在用的 1.下载ffmpeg &#xff0c;传送门&#xff1a;https://ffmpeg.en.softonic.com/ 2.配置环境变量 右击我的电脑---->点击属性&#xff0c;打开左侧高级…