13

很抱歉,如果这是重新发布,但我无法全神贯注,我已经尝试了我能找到的所有可用文档和示例。

我正在尝试获取img包含 HTML 的字符串的第一个元素

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 也没有运气。

4

2 回答 2

21

用这个:

$img = $dom->getElementsByTagName('img')->item(0);
echo $img->attributes->getNamedItem("src")->value;
于 2012-07-20T00:33:31.257 回答
1

@nickb已经提供了正确答案,但您也可以这样做,而不必在@nickbgetNamedItem()提供的代码的第二行中使用,如下所示:

echo $img->attributes->src->value;

注意:我想将上述代码作为注释添加到@nickb的答案中,但我需要至少 50 个声誉才能做到这一点。如果有人可以将上面的代码行作为对@nickb答案的评论,请告诉我。然后我将删除我的答案。

于 2019-08-09T10:53:25.163 回答