DomCrawler 2-й и т. Д. Ребенок

Я переделываю свои парсеры из SimpleHTMLDom на DomCrawler и в некоторых пунктах (как для меня) не охватываю все вопросы, которые могут быть от новичков. В СХД я написал так для доступа ко второму ребенку:

$value = $dom->find('.t18',0);
$result = $value->find('b',1);

но в DomCrawler я не могу найти аналогичный способ выбора именно второго потомка элемента с классом t18. Как я могу это сделать?

Пример кода, из которого я пытаюсь получить данные:

<div class="t18">
  <b>20(PLN)</b>
  <b>4.66 (EUR)</b>
<br>
  <b>20(EUR)</b>
  <b>85.87(PLN)</b>
<br>
</div>

1 ответ

Решение

Вы можете использовать функцию "eq", чтобы выбрать n-й дочерний узел.

для вашего примера, чтобы выбрать второй элемент b внутри первого элемента.t18:

echo $domCrawler->filter(".t18")->eq(0)->filter("b")->eq(1)->text(); // will echo 4.66 (EUR)

Другие вопросы по тегам