@Bestolkovy

Как работать с каждым объектом DOMElement/DOMNode?

Доброе утро!

Никак не могу понять работу DOMDocument() в PHP. Нигде нет простой информации с простыми примерами. Прошу меня простить, за возможно глупые вопросы, заранее.

Приведите пожалуйста, по возможности, простой пример, как обработать в цикле каждый КОРНЕВОЙ элемент (включая текстовые) как объект DOMElement/DOMNode без использования DOMXPath.

Переменная для примера:

$content = <<<EOD
<div id="foo">
  <p>...</p>
</div>

<pre class="bar">
  <code>
    echo "Hello, World!";
  </code>
</pre>

<p id="third">Hello.</p>

Текстовый узел.

<table id="fourth">
  <tbody>
    Content
  </tbody>
</table>

Ещё один текстовый узел.
EOD;


Нужно обработать в цикле все корневые элементы включая текстовые.
  • Вопрос задан
  • 512 просмотров
Пригласить эксперта
Ответы на вопрос 1
@none7
Через DOMNode::childNodes. В котором хранится DOMNodeList и через который можно получить ВСЕ дочерние элементы включая элементы DOMText и даже DOMComment. Что есть, что можно узнать через DOMNode::nodeType. В вашем случае DOMDocument принудительно обернёт весь $content в теги html и body, поэтому Вам и предлагали использовать DOMXPath(/html/body/*).
Ответ написан
Ваш ответ на вопрос

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

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