为了账号安全,请及时绑定邮箱和手机立即绑定

在 simple_html_dom 中,如何在 div.classname 中找到第一级

在 simple_html_dom 中,如何在 div.classname 中找到第一级

PHP
交互式爱情 2023-08-11 16:11:16
我正在使用 simple_html_dom我在 php var $text 中有一些 html:<div class="aClass">  <div>    ...some html    <div class="anotherClass">      ..more html    </div>  </div>  <div>    ...some html    <div class="anotherClass">      ..more html    </div>  </div></div>我知道我可以选择最外面的 div 相反, $text->find("div.aClass")我想选择该 div 中的所有第一级 div,这样我就可以将它们作为foreach循环的一部分进行处理,例如:foreach ($text->find("div.aClass div") as $myDiv) {// do stuff with $myDiv}但这似乎选择了所有div,包括那些带有class="anotherClass"非常感谢任何帮助 - 谢谢!
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

您可以使用子组合选择器>,它仅选择父元素的直接子元素。


div.aClass > div

例如


$html = <<<HTML

<div class="aClass">

  <div>

    ...some html

    <div class="anotherClass">

      ..more html

    </div>

  </div>

  <div>

    ...some html

    <div class="anotherClass">

      ..more html

    </div>

  </div>

</div>

HTML;


$text = str_get_html($html);


foreach ($text->find("div.aClass > div") as $myDiv) {

    echo $myDiv->innertext() . PHP_EOL;

}

输出


 ...some html     <div class="anotherClass">       ..more html     </div>   

 ...some html     <div class="anotherClass">       ..more html     </div>   


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信