使用 php 和 xpath 获取父元素的内部 HTML
Posted
技术标签:
【中文标题】使用 php 和 xpath 获取父元素的内部 HTML【英文标题】:Get inner HTML of parent element with php and xpath 【发布时间】:2013-08-10 07:49:27 【问题描述】:我想获取所有内容,包括父元素的标签,比如说:
$imgs = $xpath->query('//img');
echo $imgs->item(0)->parentNode->innerhtml;
当然,innerHTML
属性不存在。最相似的属性是innerText
,它只包含没有标签的文本。我真的需要 HTML。有没有一种轻松的方法来实现这一目标?
【问题讨论】:
你试过innerXml
或nodeValue
吗?
是的,它们与 textContent 相同。解决方法是:echo $dom->saveXML($imgs->item(0)->parentNode);
【参考方案1】:
您可以使用另一个 XPath 表达式(而不是选择父节点和 innerHTML)./../node()
来选择父元素。
使用node()
很重要,因此您可以获得元素和文本节点。
如果你知道<img/>
元素只有一个,你也可以使用//*[img]/node()
。
【讨论】:
以上是关于使用 php 和 xpath 获取父元素的内部 HTML的主要内容,如果未能解决你的问题,请参考以下文章
使用 DOMDocument PHP 获取 Xpath 父节点?
如何使用simpleXML(php)通过xpath获取父节点