用正则解析图片地址 并利用XMLHTTP组件将其保存
日期:2006年8月8日 作者: 查看:[大字体 中字体 小字体]-
现在基于WEB的HTML的编辑器在新闻系统,文章系统中用得越来越广,一个网一粘就可以保持原来的样式,同时图片也可以在这个中保持。但是在使用过程中,如果所粘贴中的图片被删除,就会在自己的面上留下一个大大的“X”,影响美观。以前只好把这个图片保存下来,再重新上传到服务器上,这样实在麻烦。能不能让服务器自动去下载图片保存在服务器并且替换面上的链接?答案是肯定的。
要实现这个功能需要经过三个步骤:
一,取得原中的图片的地址。方法很多,可以用分割字符串,也可以用正则匹配。实践证明用正则匹配最为简单。经过分析图片的地址都保存在<img>标签中。我们可以先取得所有这个标签。过程如下:
Set objRegExp = New Regexp'设置配置对象
objRegExp.IgnoreCase = True’忽略大小写
objRegExp.Global = True’设置为全文搜索
objRegExp.Pattern = "<img.+?>"'为了确保能准确地取出图片地址所以分为两层配置:首先找到里面的<img>标签,然后再取出里面的图片地址后面的getimgs函数就是实现后一个功能的。
strs=trim(str)
Set Matches =objRegExp.Execute(strs)’开始执行配置
For Each Match in Matches
RetStr = RetStr &getimgs( Match.Value )’执行第二轮的匹配
Next所有的图片在里面都是这样的src="http://图片的地址",所以可以这样来取得确切的图片地址:
function getimgs(str)
getimgs=""
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "http://.+?"""’取出里面的地址
set mm=objRegExp.Execute(str)
For Each Match in mm
getimgs=getimgs&""&left(Match.Value,len(Match.Value)-)’把里面的地址串起来备用
next
end function取得了所有的图片的地址,我们就可以进行第二步的操作了。
二,下载图片并保存在服务器上。这个又可以分为两个步骤:一个是取得图片的内容,另一个是保存在服务器上。取得图片的内容是通过下面的函数来实现的:
function getHTTPPage(url)
on error resume next
dim http
set http=server.createobject("MSXML.XMLHTTP")‘使用xmlhttp的方法来获得图片的内容
Http.open "GET",url,false
Http.send()
if Http.readystate<> then
exit function
end if
getHTTPPage=Http.responseBody
set http=nothing
if err.number<>0 then err.Clear
end function
取得了图片的内容要保存,给人一种感觉是用FSO来作就可以了,但实际上不行,这样保存程序就会出错,因为FSO不支持流式的文件,所以我们要调用另一个对象:ADO.STREM。具体的过程如下:
function saveimage(from,tofile)
dim geturl,objStream,imgs
geturl=trim(from)
imgs=gethttppage(geturl)'取得图片的具休内容的过程 - [1] [2] 下一页
-
- 用正则解析图片地址 并利用XMLHTTP组件将其保存 相关文章:
- ·QQ常在异地登录的原因及其应对方法
- ·XP SP3 RC1官方下载地址(附验证码)
- ·微软Live Search地图服务中文版上线
- ·迅雷实现BT和电骡异地下载
- ·微软推中文版地图Live Search服务
- ·AS打造鼠标控制转动地球仪
- ·Vista的Ping告诉你本机地址的IPv6形式
- ·关于 FeedBurner 烧录的 Feed 地址跳转
- ·异域风情 奥地利美丽风景集
- ·Flickr允许按地名分类浏览照片
- 用正则解析图片地址 并利用XMLHTTP组件将其保存 相关软件
- ·《冰封王座》地图:宝石TD v3.1 简繁
- ·《越南地狱》v1.1升级补丁
- ·《冰封王座》地图:CLJ-天地三国3C+AI-V1.6版
- ·《冰封王座》地图:黑客帝国 4.0 汉化
- ·《冰封王座》地图:微雨传奇 1.7
- ·《冰封王座》地图:天变轩辕--历史重演
- ·《冰封王座》地图:真三国无双v4.3C2 简繁
- ·《冰封王座》地图:通灵王外传-叶王的复仇V1.4
- ·《冰封王座》地图:老阴传奇2赤壁之战V1.25版
- ·《冰封王座》地图:三国志-霸王大陆1.2版
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:从动网DV7.1Access转换到Discuz4.1
精品推荐
热点TOP10
- ·关于web.xml配置的详细说明
- ·XML Schema定义元素的基本知识
- ·XSL/XML网页制作入门,入门到精通
- ·XML轻松学习手册(三):XML的术语
- ·XML轻松学习手册(一):XML快速入门
- ·用XML+JSP实现网页内容动态显示的方案
- ·自定义应用程序配置文件(app.config)
- ·XML轻松学习手册(二):XML概念
- ·XHTML标签写法应该注意的问题
- ·利用XMLHTTP无刷新添加数据
- ·XHTML教程,简单认识XHTML基础知识
- ·常用的XHTML标签的使用技巧介绍
- ·网页设计学习XHTML应用小结
- ·XHTML 1.0 参考
- ·Xml 串行话对象与反串行实例
- ·XQuery 初学者入门教程:XQuery 术语和语法
- ·XQuery 初学者入门教程:XQuery FLWOR + HTML
- ·XQuery 初学者入门教程:XQuery FLWOR 表达式
- ·分享:XMLHTTPRequest的属性和方法简介
- ·XQuery 初学者入门教程:XQuery实例
