我想获得所有内容,包括父元素的标签,比如:
$imgs = $xpath->query('//img');
echo $imgs->item(0)->parentNode->innerHTML;
当然,innerHTML
属性不存在。最相似的属性是innerText
,它只包含没有标记的文本。我真的需要HTML。有没有一种无痛的方法来实现这一点?
您可以使用另一个XPath表达式(而不是选择父节点和innerHTML)./../node()
来选择父元素。
使用node()
非常重要,因此可以同时获得元素和文本节点。
如果你知道只有一个<img/>
元素,你也可以使用//*[img]/node()
。