2017-08-23 43 views
0

获取第一款第一项很简单:如何获取包含图像

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

但我需要得到具有图像第一段并获得img标签的src属性值。这个怎么做?

+1

什么毛病,使用JS/jQuery的第一个?或者这不是一个选择? :) – ThisGuyHasTwoThumbs

+1

XPath可能更合适。 –

+0

我在jQuery中给出了答案。如果你想要,你可以通过javascript dom元素使用相同的逻辑。 –

回答

0

见下使用DOMXPath

获取包含在p标签的所有img元素,在它们之间迭代并打印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//[email protected]"); 

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

我们输出的src喜欢这样,因为这将返回DomAttr对象。

直接获取匹配

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