Я хотел бы получить все содержимое, включая теги родительского элемента, скажем:
$imgs = $xpath->query('//img'); echo $imgs->item(0)->parentNode->innerHTML;
Конечно, атрибут innerHTML
не существует. Наиболее похожим атрибутом будет innerText
который содержит только текст без тегов. Мне действительно нужен HTML. Есть ли безболезненный способ достичь этого?
Вместо этого вы можете использовать другое выражение XPath (выбор родительского узла и innerHTML) ./../node()
который выбирает родительский элемент.
Использование node()
важно, поэтому вы получаете как элементы, так и текстовые узлы.
Если вы знаете, что только один элемент <img/>
, вы также можете использовать //*[img]/node()
.