我正在使用 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>
- 1 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消