在 simple_html_dom 中,我如何在 div.classname 中找到第一级 <divs>
In simple_html_dom how do I find first-level <divs> within div.classname
我正在使用 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>
我知道我可以 select 最外层的 div
$text->find("div.aClass")
相反,我想 select div 中的所有第一级 div,这样我就可以将它们作为 foreach
循环
的一部分进行处理
类似于:
foreach ($text->find("div.aClass div") as $myDiv) {
// do stuff with $myDiv
}
但这似乎 select 所有 divs,包括 class="anotherClass"
非常感谢任何帮助 - 谢谢!
您可以使用 then child combinator selector >
,它只选择父元素的直接子元素。
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>
我正在使用 simple_html_dom
我在 php var $text:
<div class="aClass">
<div>
...some html
<div class="anotherClass">
..more html
</div>
</div>
<div>
...some html
<div class="anotherClass">
..more html
</div>
</div>
</div>
我知道我可以 select 最外层的 div
$text->find("div.aClass")
相反,我想 select div 中的所有第一级 div,这样我就可以将它们作为 foreach
循环
的一部分进行处理
类似于:
foreach ($text->find("div.aClass div") as $myDiv) {
// do stuff with $myDiv
}
但这似乎 select 所有 divs,包括 class="anotherClass"
非常感谢任何帮助 - 谢谢!
您可以使用 then child combinator selector >
,它只选择父元素的直接子元素。
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>