很抱歉,如果这是重新发布的,但我无法理解它,我已经尝试了所有可用的文档和示例。
我正在尝试获取包含HTML
的字符串的第一个img
元素
PHP
$html = '<p><img src="http://placekitten.com/200/300" alt="" width="200" height="300" /></p>';
$dom = new DOMDocument;
$dom->loadHTML($html);
$imgs = $dom->getElementsByTagName('img');
var_dump($imgs);
当它应该找到一次出现时,这会吐出object(DOMNodeList)#57 (0) { }
。
我尝试过XPath也没有运气。
答案 0 :(得分:18)
使用此:
$img = $dom->getElementsByTagName('img')->item(0);
echo $img->attributes->getNamedItem("src")->value;
答案 1 :(得分:0)
@nickb 已经提供了正确的答案,但是您也可以这样做,而不必在 @nickb提供的代码的第二行中使用getNamedItem()
,就像这样:
echo $img->attributes->src->value;
注意:我想在 @nickb 的答案中添加上面的代码作为注释,但是我至少需要50个声誉。如果有人可以将上面的代码行作为对 @nickb 答案的注释,请告诉我。然后,我将删除答案。