我可以通过PHP的DOMDocument获得兄弟姐妹吗?
发布时间:2020-12-13 18:11:41 所属栏目:PHP教程 来源:网络整理
导读:我在 PHP的DOMDocument中得到了一些h3引用. $dom = new DOMDocument();$dom-loadHtml($content);$h3s = $dom-getElementsByTagName('h3');foreach($h3s as $h3) { var_dump($h3-nodeValue);} 我需要在h3之后获得下一个元素.在这种情况下,它将是下一个h3或文
我在
PHP的DOMDocument中得到了一些h3引用.
$dom = new DOMDocument(); $dom->loadHtml($content); $h3s = $dom->getElementsByTagName('h3'); foreach($h3s as $h3) { var_dump($h3->nodeValue); } 我需要在h3之后获得下一个元素.在这种情况下,它将是下一个h3或文档末尾的所有元素. 它使用正则表达式很容易,但我不想在这里使用它来解析HTML. 作为参考,那个正则表达式是…… preg_match_all('/<h3>([^<]+)</h3>(.*?)(<h3|$)/',$content,$matches); (这是脆弱的,因此需要正确的解析). 那么我如何使用DOMDOcument在上面的正则表达式的$matches中使用我期望的数据呢? 我检查了documentation,但找不到相当于JavaScript的nextSibling属性.
$h3-> nextSibling和$h3-> previousSibling是您正在寻找的.
getElementsByTagName返回一个DOMNodeList,当你迭代它时,它包含DOMNode元素. http://www.php.net/manual/en/class.domnode.php (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |