2017-08-23 44 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;