Я использую Symfony DomCrawler для получения всего текста в документе.Как получить все внешние элементы TEXT в документе HTML
$this->crawler->filter('p')->each(function (Crawler $node, $i) {
// process text
});
Я пытаюсь собрать весь текст в пределах <body>
, которые находятся за пределами элементов.
<body>
This is an example
<p>
blablabla
</p>
another example
<p>
<span>Yo!</span>
again, another piece of text <br/>
with an annoy BR in the middle
</p>
</body>
Я использую PHP Symfony и могу использовать XPath (предпочтительно) или RegEx.
Я не знаю о Symfony DomCrawler, но XPath для получения текстового узла, который находится непосредственно в '
', будет: '// body/text()' (некоторый процессор XPath не поддерживает возвращающий текстовый узел, хотя) – har07Учитывает ли это текст во вложенных элементах? –
Нет. Если вы пошли, просто добавьте еще один '/': '// body // text()' – har07