Как с помощью xpath получить все содержимое элемента?

Как с помощью запроса xpath получить не просто текстовое содержимое того или иного элемента, а все, что в нем содержится, включая вложенные теги и их атрибуты, к примеру если я обращаюсь с помощью запроса //div к блоку, то получаю только его текст и если в блоке присутствует ссылка, то в результате я получу лишь текстовое содержимое ссылки, а не ее атрибут href, а хотелось бы получить все вложенные элементы и их атрибуты.
  • Вопрос задан
  • 3299 просмотров
Решения вопроса 1
Tantacula
@Tantacula Автор вопроса
Вот рабочее решение

<?php
function getInnerHTML($node)
{
    $children = $node->childNodes;
    foreach ($children as $child) 
    {
        $tmp_doc = new DOMDocument();
        $tmp_doc->appendChild($tmp_doc->importNode($child,true));
        $innerHTML .= $tmp_doc->saveHTML();
    }
    return $innerHTML;
}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
torrie
@torrie
Всё знаю, всё умею
В xpath кроме параметра textContent есть и другие, например, innerHTML. Посмотрите в их сторону.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы