Метод children
Метод children класса Crawler возвращает новый объект
Crawler, содержащий всех непосредственных потомков
текущего узла (или узлов). Метод не принимает обязательных
параметров и работает как с одним корневым элементом, так и
с набором узлов, полученных ранее через filter.
Синтаксис
public function children(): static
Пример
Давайте получим всех потомков корневого элемента div:
<?php
use SymfonyComponentDomCrawlerCrawler;
$html = '<div><p>abcde</p><span>hello</span></div>';
$crawler = new Crawler($html);
$res = $crawler->filter('div')->children();
foreach ($res as $node) {
echo $node->nodeName . ' ';
}
?>
Результат выполнения кода:
"p span "
Пример
Давайте получим текстовое содержимое всех потомков списка:
<?php
use SymfonyComponentDomCrawlerCrawler;
$html = '<ul><li>article</li><li>user</li><li>hello</li></ul>';
$crawler = new Crawler($html);
$res = $crawler->filter('ul')->children();
foreach ($res as $node) {
echo $node->textContent . ' ';
}
?>
Результат выполнения кода:
"article user hello "
Пример
Давайте посчитаем количество потомков у элемента:
<?php
use SymfonyComponentDomCrawlerCrawler;
$html = '<div><span>abcde</span><span>hello</span><span>user</span></div>';
$crawler = new Crawler($html);
$res = $crawler->filter('div')->children()->count();
echo $res;
?>
Результат выполнения кода:
3