PHP preg_match_all获取所有图像到数组

时间:2015-01-24 21:29:49

标签: php arrays string image preg-match-all

非常自我解释......

这是我的代码:

$html=<<<EOF

<img src="smiley.gif" alt="Smiley face" height="42" width="42"> 
<img  alt="title" height="120" width="50" src="title.jpg" />
<img  alt=Footer src=footer.bmp height=30 width=47     />
<br>
<img  alt=Footer  height=10 src='square.jpeg' width=10     />
<div id="test"><img      longdesc="" width=100 src="transparent.png" height=43></div>
EOF;

preg_match_all( “//”,$ HTML,$图像);

我希望能够使用preg_match_all(或任何其他魔法)将所有图像文件返回到数组:

我希望得到一个包含所有图片的数组,var_dump($images);将是:

smiley.gif
title.jpg
footer.bmp
square.jpeg
transparent.png

2 个答案:

答案 0 :(得分:3)

您可以使用Simple HTML DOM ParserPHP DOMDocument,例如:

$doc = new DOMDocument();
$doc->loadHTML($htmlstring);
$elements = $doc->getElementsByTagName('img');

foreach($elements as $element) {
 print $element->getAttribute('src');
}

答案 1 :(得分:1)

preg_match_all('/<img(.*?)src=("|\'|)(.*?)("|\'| )(.*?)>/s', $html, $images);
var_dump($images[3]);