@Devate

XPath: как получить текстовый узел, когда рядом с ним есть теги?

Здравствуйте!

Начал изучать XPath, очень крутая вещь, но намертво завис на ровном месте... Есть код:

$xml = simplexml_load_string('<div>123 <br /> 456</div>');


Хочу получить отсюда текстовые узлы - 123 и 456. Чтобы отдельно всё было. Пробую:

$xml->xpath('//div/text()[1]')

Получаю полностью весь текст :( Реально ли получить отдельно текстовые узлы? Спасибо!
  • Вопрос задан
  • 530 просмотров
Решения вопроса 1
DevMan
@DevMan
$dom = new DOMDocument;
$dom->loadXML('<div>123 <br /> 456</div>');

$xpath = new DOMXPath($dom);
foreach ($xpath->query('//div/text()') as $textNode) {
	echo trim($textNode->nodeValue), PHP_EOL;
}
ideone.com/FYkZwX
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@krypt3r
Функции XPath substring*() или же средствами PHP
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы