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)