我想要一个PHP脚本来获取HTML代码中的所有图像并列出它。 任何人都可以帮助我这样做,或者一些关于我应该如何进行的想法? 我是新手,所以任何帮助都会受到赞赏。
答案 0 :(得分:8)
您可以使用DOMDocument或simplehtmldom。这是一个DOMDocument示例:
$dom = new DOMDocument();
$dom->loadHtml($yourHtmlAsAString);
foreach ($dom->getElementsByTagName('img') as $img) {
echo $img->getAttribute('src').'<br>'; // or whatever you need
}
答案 1 :(得分:4)
通过many HTML parser libraries之一运行HTML代码,然后在所有img元素上查询src属性值。
答案 2 :(得分:3)
试着在PHP中查看DOMDocument? http://php.net/manual/en/domdocument.getelementsbytagname.php
该页面的好例子:
$dom = new DomDocument();
$dom->prevservWhiteSpace = false;
$dom->loadHTML($htmlString);
$imageList = $dom->getElementsByTagName('img');
$imageCnt = $imageList->length;
for ($idx = 0; $idx < $imageCnt; $idx++) {
print $imageList->item($idx)->nodeValue . "\n";
}
应该为您提供所需的基础知识。
*免责声明,示例稍微修改了我从它中抽出的评论,但这是非常直接的东西。
答案 3 :(得分:2)
如果你想从实际的php / html文件中加载它......
$dom = new DomDocument();
if (!@$dom->load('img.php')) {
echo 'url does not exist';
return;
}
$imgs = $dom->getElementsByTagName('img');
for ($buffer = ''; $i = 0, $len = $imgs->length; $i < $len; $i++)
{
$buffer .= 'image ' . $i . ' is: ' . $imgs->item($i)->getAttribute('src') . '<br/>';
}
echo $buffer;
答案 4 :(得分:1)
我建议调查DOM。它应该提供您正在寻找的功能。
答案 5 :(得分:1)
我认为你能做到这一点最简单的方法之一就是通过正则表达式。如上所述通过DOMDocument对象加载HTML,但创建一个表达式 - 显然PHP有3种不同的方法来执行此操作。我还在正则表达式上写了一个short post,可以帮助你在这个主题上找到立足点。它们在这种情况下非常有用。