【发布时间】:2010-12-15 08:24:06
【问题描述】:
我在 PHP 的 DOMDocument 中获得了一些 h3 引用。
$dom = new DOMDocument();
$dom->loadHtml($content);
$h3s = $dom->getElementsByTagName('h3');
foreach($h3s as $h3) {
var_dump($h3->nodeValue);
}
我需要获取h3s 之后的下一个元素。在这种情况下,它将是直到下一个 h3 或文档结尾的所有元素。
它很容易使用正则表达式,但我不想在这里使用它来解析 HTML。
作为参考,那个正则表达式是……
preg_match_all('/<h3>([^<]+)<\/h3>(.*?)(<h3|$)/', $content, $matches);
(这是脆弱的,因此需要正确解析)。
那么我如何使用 DOMDOcument 从上面的正则表达式中获得我期望在$matches 中的数据?
我检查了 documentation,但找不到 JavaScript 的 nextSibling 属性的等效项。
【问题讨论】:
标签: php html domdocument