艺术迷网
艺术迷 >> 网页设计 >> asp学习 >> 正则表达式从html代码中提取图片的scr地址
2006-10-17   作者:佚名   来源:艺术迷收集(fansart.com)   点击:1812
页面功能: 【评论】有错就点】 【字体: 】 【打印】 【关闭【收藏本页】收藏到365Key
 
方法1



content=sContent1
regstr="src\=.+?\.(gif|jpg)"
url=Replace(Replace(Replace(RegExp_Execute(regstr‚content)‚"'"‚"")‚""""‚"")‚"src="‚"")
Response.Write(url)
Response.end

'返回匹配值
Function RegExp_Execute(patrn‚ strng)
Dim regEx‚ Match‚ Matches‚values '建立变量。
Set regEx = New RegExp '建立正则表达式。
regEx.Pattern = patrn '设置模式。
regEx.IgnoreCase = true '设置是否区分字符大小写。
regEx.Global = True '设置全局可用性。
Set Matches = regEx.Execute(strng) '执行搜索。
For Each Match in Matches '遍历匹配集合。
values=values&Match.Value&"‚"
Next
RegExp_Execute = values
End Function



方法2

Content="<img height=11 src=http://a.gif width=10>adfas<img height=11 src=v.gif width=10>dfasf"
response.write savepic(Content)
response.end()

function savepic(str)
content=str&""
regstr="src\=.+?\.(gif|jpg)"
url=Replace(Replace(Replace(RegExp_Execute(regstr‚content)‚"'"‚"")‚""""‚"")‚"src="‚"")
savepic=url
end function
Function RegExp_Execute(patrn‚ strng)
Dim regEx‚ Match‚ Matches‚values '建立变量。
Set regEx = New RegExp '建立正则表达式。
regEx.Pattern = patrn '设置模式。
regEx.IgnoreCase = true '设置是否区分字符大小写。
regEx.Global = True '设置全局可用性。
Set Matches = regEx.Execute(strng) '执行搜索。
For Each Match in Matches '遍历匹配集合。
values=values&Match.Value&"‚"
Next
RegExp_Execute = values
End Function




方法3



http://[a-z0-9A-Z.?/_]*.(jpg|jpeg|gif|png)



php方法

今天继续编写新网站下的文章发布系统,其中需要一个功能,就是显示焦点新闻中的图片,本来可以在录入时单独上传一个与新闻搭配的图片,这是最简单的,但为了给自己一个挑战,我打算做成录入带有图片的新闻后,程序会自动提取正文中的第一个图片的地址,鼓捣了半天,成果如下:

$p = '/<img([^\/>]+)src="([^"]+)"([^\/>]+)\/>/is';
$f = preg_match($p‚$c‚$re);
echo $re[2];


此需求的难点在于,通过FCKeditor添加的图片中,其alt属性的位置是不固定的:

<img src="url" alt="" />或<img alt="" src="url" />

因此,正则表达式必须完全兼容这2种情况。

唉,看上去并不复杂的正则,却鼓捣了这么久,看来对它的掌握还是太少啊,不过每次使用正则表达式,都有不同的收获,很奇妙。





声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。如有疑问请与站长联系。
网友评论
目前没有评论!
发表评论
您的姓名: 匿名发送
电子邮件:
评论内容:
不能超过100个字符



所有留言只代表网友个人观点,不代表本站观点。
请各位遵纪守法并注意语言文明。
新闻搜索
关 键 词:
搜索范围:
全站精华
图文精彩
平面设计QQ群:42326012;技术群:38389792;
本站部分图文内容取自互联网。您若发现有侵犯您著作权行为,请及时告知,我们将在第一时间删除侵权作品、停止继续传播。
Copyright 2006-2007,版权所有 www.fansart.com tc_show@126.com QQ:44550498