使用php和xpath获取父元素的内部HTML


Get inner HTML of parent element with php and xpath

我想获得所有内容,包括父元素的标签,比如:

$imgs = $xpath->query('//img');
echo $imgs->item(0)->parentNode->innerHTML;

当然,innerHTML属性不存在。最相似的属性是innerText,它只包含没有标记的文本。我真的需要HTML。有没有一种无痛的方法来实现这一点?

您可以使用另一个XPath表达式(而不是选择父节点和innerHTML)./../node()来选择父元素。

使用node()非常重要,因此可以同时获得元素和文本节点。

如果你知道只有一个<img/>元素,你也可以使用//*[img]/node()