Добрый день!
Как найти прямых потомков элемента (включая текстовые узлы, содержащие в себе строчные теги) элемента?
Примерный пример, было:
<div id="orion">
Lorem ipsum <i>dolor</i> sit amet.
Lorem <b>ipsum</b> dolor sit amet.
<p>Lorem ipsum dolor sit amet.</p>
<span>Lorem ipsum dolor sit amet.</span>
</div>
Примерный пример, стало:
<div id="orion">
<p>
Lorem ipsum <i>dolor</i> sit amet.
Lorem <b>ipsum</b> dolor sit amet.
</p>
<p>Lorem ipsum dolor sit amet.</p>
<p>
<span>Lorem ipsum dolor sit amet.</span> Lorem ipsum dolor sit <span>amet</span>.
</p>
</div>
Использую функцию со следующей осью:
$dom = new DOMDocument;
$dom->loadHTML( '$html' );
$xpath = new DOMXPath( $dom );
foreach ( $xpath->query( '//div/text()[i][b][span] | //div/node()' ) as $textNode ) {
echo trim( $textNode->nodeValue ), PHP_EOL;
}
Не в какую не работает. Хотя согласно документации, я ему чёрным по русскому говорю, - разрешаю, мол, тебе, использовать текстовые узлы, в которых есть строчные теги:
text()[i][b][span]
.
Как заставить его работать?
Спасибо!