我正在使用 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 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消
