如何获得包含图像的第一段

时间:2017-08-23 08:41:12

标签: php

获取第一段很简单:

$dom = new DOMDocument();
$dom->loadHTML($html);
$firstParagraph = $dom->getElementsByTagName('p')->item(0);

但是我需要获得带有image的第一段并获得img标签的src属性值。怎么做?

1 个答案:

答案 0 :(得分:0)

使用DOMXPath

查看下面的一些示例

获取img标记中包含的所有p元素,对其进行迭代并打印src属性。

$xpath = new DOMXPath(@DOMDocument::loadHTML($html));
$query = $xpath->query("//p//img");

foreach($query as $img){
    print $img->getAttribute('src') . PHP_EOL;
}

直接查询src属性

$query = $xpath->query("//p//img@src");

foreach($query as $domAttribute){
    print $domAttribute->value . PHP_EOL;
}

我们像这样输出src因为这会返回DomAttr个对象。

直接获取匹配的第一个

$result = $xpath->evaluate("string(//p//img/@src)");
print $result . PHP_EOL;