這是我的示例腳本:如何使用PHP的DOMDocument獲取元素的序列化HTML?
$html = <<<HTML
<div class="main">
<div class="text">
Capture this text 1
</div>
<div class="date">
May 2010
</div>
</div>
<div class="main">
<div class="text">
Capture this text 2
</div>
<div class="date">
June 2010
</div>
</div>
HTML;
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//div[@class="main"]');
foreach ($tags as $tag) {
print_r($tag->nodeValue."\n");
}
這將出認沽:
Capture this text 1 May 2010
Capture this text 2 June 2010
但我需要它輸出:
<div class="text">
Capture this text 2
</div>
<div class="date">
June 2010
</div>
或至少能夠做這樣的事在我的foreach循環:
$text = $tag->query('//div[@class="text"]')->nodeValue;
$date = $tag->query('//div[@class="date"]')->nodeValue;
這個問題是不是XPath表達式,但有關具體的DOM實現的方法。 – 2010-09-27 15:26:52