PHP如何使用preg_match_all获取完整的图像URL

时间:2014-11-27 06:16:30

标签: php regex image preg-match-all

例如

$string = 
'aaaaaaasssssshttp://www.1.com/images/001/001/001/1.jpgddwxeaaaaaa
crewcwehttp://www.2.com/images/002/002/002/2.jpgrcegcger
cgwcgrewhttp://www.3.com/images/003/003/003/3.jpgcgergcer
cerggewrcgrewhttp://www.4.com/images/004/004/004/4.jpgecgewrcgerwcg
cerghttp://www.5.com/images/005/005/005/5.jpg';

我希望得到第一张图片完整的网址形式,如:

"http://www.1.com/images/001/001/001/1.jpg"

我使用此功能但不起作用

 if (preg_match_all('^http:\/\/\.(png|jpeg|jpg|gif|bmp)$/i', $string, $matches))

 print_r ($matches[1]);

谁能帮帮我?非常感谢你!

1 个答案:

答案 0 :(得分:1)

我测试了以下代码,但它确实有效。它只捕获jpg-urls。

$string = 
'aaaaaaasssssshttp://www.1.com/images/001/001/001/1.jpgddwxeaaaaaa
crewcwehttp://www.2.com/images/002/002/002/2.jpgrcegcger
cgwcgrewhttp://www.3.com/images/003/003/003/3.jpgcgergcer
cerggewrcgrewhttp://www.4.com/images/004/004/004/4.jpgecgewrcgerwcg
cerghttp://www.5.com/images/005/005/005/5.jpg';

preg_match_all("((http|https|ftp|ftps)://?([a-zA-Z0-9\\\./]*.jpg))", $string, $matches);

print_r($matches[0][0]);