php 正则匹配 url img
我现在要匹配一个url地址,如:<img alt="图片说明" src="http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg" title="title" />。我只想要src的url地址,还要匹配<img .... />,有的是这种形式<img alt="图片说明" src=http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg title="title" />src后面没有““”双引号,有的是单引号,而且alt和title有的<img />标记中是没有的。请问各位这个正则怎么写呢?
------解决方案--------------------/((http
------解决方案--------------------https):\/\/)+(\w+\.)+(\w+)[\w\/\.\-]*(jpg
------解决方案--------------------gif
------解决方案--------------------png)/
------解决方案--------------------
<?php
$str =<<<EOF
<img alt="图片说明" src="http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg" title="title" />
src后面没有““”双引号
<img alt="图片说明" src=http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg title="title" />
单引号
<img alt="图片说明" src='http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg' title="title" />
没有alt
<img src='http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg' title="title" />
没有title
<img alt="图片说明" src='http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg' title="title" />
都没有
<img src='http://i3.sinaimg.cn/ent/2013/0604/U8551P28DT20130604154106.jpg' />
EOF;
$reg = '/<img[^>]*src=[\'"]?([^\'"\s]+)[\'"]?[^>]*>/im';
$matches = array();
preg_match_all($reg, $str, $matches);
print_r($matches);
------解决方案--------------------