首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DomCrawler 2等儿童

DomCrawler 2等儿童
EN

Stack Overflow用户
提问于 2018-12-12 08:11:33
回答 1查看 583关注 0票数 1

我正在重新编写SimpleHTMLDom on DomCrawler上的解析器,在某些方面(对于我来说)还没有涵盖所有可能来自新手的问题。在SHD中,我被写成这样是为了获得第二个孩子:

代码语言:javascript
复制
$value = $dom->find('.t18',0);
$result = $value->find('b',1);

但是在DomCrawler中,我找不到任何类似的方法来选择带有t18类的元素的第二个子元素。我怎么能这么做?

我正在尝试获取数据的代码示例:

代码语言:javascript
复制
<div class="t18">
  <b>20(PLN)</b>
  <b>4.66 (EUR)</b>
<br>
  <b>20(EUR)</b>
  <b>85.87(PLN)</b>
<br>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-29 13:00:41

您可以使用"eq“函数来选择节点的第n个子节点。

对于您的示例,要在第一个.t18元素中选择第二个b元素:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53738646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档