我通过 XPath 在 HTML 文档中获得注释$xpath = new DOMXPath($doc);$comments = $xpath->query('//comment()');foreach ($comments as $comment){ echo $comment->nodeValue.PHP_EOL;}如何从中获取此循环中的下一个 HTML 元素$comment?
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
您可以更改您的 XPath 表达式以使用following-sibling轴,并说在评论后拿起第一个节点......
$comments = $xpath->query('//comment()/following-sibling::*[1]');
如果您需要评论和下一个节点,您可以先获取评论,然后使用相对于该评论的 XPath 来获取以下节点...
$comments = $xpath->query('//comment()');
foreach ($comments as $comment)
{
echo $comment->nodeValue.PHP_EOL;
$next = $xpath->query("following-sibling::*[1]", $comment)[0];
echo $next->nodeValue.PHP_EOL;
}
慕运维8079593
TA贡献1876条经验 获得超5个赞
紧随其后的元素$comment是它的下一个兄弟元素。它应该存储在nextSibling属性中:
foreach ($comments as $comment)
{
var_dump($comment->nextSibling);
}
- 2 回答
- 0 关注
- 169 浏览
添加回答
举报
0/150
提交
取消