使用php在html中查找图像链接

时间:2010-08-01 18:27:16

标签: php html regex

为什么此代码在文本中找不到图片链接?

$text = 'text text <img src = "http://www.singlewheel.com/Scoots/PAV/Martin7PAV/42316.jpg" /> text text';
preg_match_all('#^http:\/\/(.*)\.(gif|png|jpg)$#i', $text, $all_img);

2 个答案:

答案 0 :(得分:1)

有许多方法可以用PHP解析DOM。这是一个完全符合你想要的例子(从html字符串中获取每个img src)

http://simplehtmldom.sourceforge.net/#fragment-11

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images
foreach($html->find('img') as $element)
    echo $element->src . '<br>';

正则表达式不适合解析HTML。

答案 1 :(得分:0)

删除^和$,如果你想捕获网址以供以后使用环绕()

preg_match_all('#(http:\/\/(.*)\.(gif|png|jpg))#i', $text, $all_img);