【发布时间】:2011-04-17 20:09:24
【问题描述】:
这是我的示例脚本:
$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实现方法。
标签: php dom domdocument