PHP preg_match_all get 获取所有图像到数组

PHP preg_match_all get fetch all images to array

几乎不言自明...

这是我的代码:

$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,$images);

我希望能够 return 使用 preg_match_all(或任何其他魔法 :)

将所有图像文件存储到一个数组中

我希望获得包含所有图片的数组,因此 var_dump($images); 将是:

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

您可以使用 Simple HTML DOM Parser or PHP DOMDocument,例如:

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

foreach($elements as $element) {
 print $element->getAttribute('src');
}
preg_match_all('/<img(.*?)src=("|\'|)(.*?)("|\'| )(.*?)>/s', $html, $images);
var_dump($images[3]);