Как проверить, существует ли n-й элемент с помощью HTML-парсера DIDOM

Я использую HTML-парсер библиотеки DiDom. Из документацииhttps://github.com/Imangazaliev/DiDOM#verify-if-element-exists):

Если вам нужно проверить, существует ли элемент, а затем получить его:

if ($document->has('.post')) {
$elements = $document->find('.post');
// code
}

Но что, если мне нужно проверить существование n-го элемента массива элементов с помощью класса .post, например:

$elements = $document->find('.post')[1];

Код ниже не работает и выдает ошибки:

if ($document->has('.post')[1]) {
$elements = $document->find('.post')[1];
// code
}

1

Решение

Я нашел решение. DiDOM есть () Метод не предлагает опцию nth-child. Поэтому я использовал селектор псевдоклассов nth-child (n), чтобы проверить внешний вид n-го элемента.
Код выглядит сейчас:

    if ($document->find('.post:nth-child(2)')) {
$elements = $document->find('.post:nth-child(2)'))[0]->text();
} else {
echo "there are no such item";
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]