РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1152 of 1361 menu

Метод eq класса Crawler

Метод eq класса Crawler позволяет выбрать один элемент из текущей выборки по его порядковому номеру. Метод принимает первым параметром целое число position - индекс элемента, начиная с нуля. Возвращается новый объект Crawler, содержащий только выбранный элемент. Если элемента с таким индексом нет, возвращается пустой Crawler.

Синтаксис

$crawler->eq(position)

Пример

Давайте получим HTML-страницу, найдём все теги p и выберем второй из них по индексу 1:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\DomCrawler\Crawler; class ArticleController extends AbstractController { public function index(): Response { $html = '<p>article 1</p><p>article 2</p><p>article 3</p>'; $crawler = new Crawler($html); $res = $crawler->filter('p')->eq(1)->text(); return new Response($res); } } ?>

Результат выполнения кода:

"article 2"

Пример

Давайте выберем элемент по индексу 0, то есть первый в выборке:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\DomCrawler\Crawler; class ArticleController extends AbstractController { public function index(): Response { $html = '<div class="row">abcde</div><div class="row">hello</div>'; $crawler = new Crawler($html); $res = $crawler->filter('div.row')->eq(0)->text(); return new Response($res); } } ?>

Результат выполнения кода:

"abcde"

Пример

Давайте попробуем выбрать элемент по индексу, которого нет в выборке, и получим пустой результат:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\DomCrawler\Crawler; class ArticleController extends AbstractController { public function index(): Response { $html = '<p>article</p><p>user</p>'; $crawler = new Crawler($html); $res = $crawler->filter('p')->eq(5)->count(); return new Response((string) $res); } } ?>

Результат выполнения кода:

"0"

Смотрите также

  • класс Crawler,
    который выполняет навигацию по HTML-документу
  • метод first,
    который возвращает первый элемент выборки
  • метод last,
    который возвращает последний элемент выборки
  • метод filter,
    который фильтрует элементы по CSS-селектору
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить