简单的HTML DOM - 子选择器(CSS)

Ris*_*Sun 5 css php simple-html-dom

我正在尝试div.element使用>组合器选择父母的(直接)孩子,但它失败了.

HTML:

<div class="element">
    <p>test</p>
</div>

<div class="element">
    <div class="selected">
        <p>test2</p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

PHP:

$html->find('div.element > p', 0);
Run Code Online (Sandbox Code Playgroud)

我期待选择直接p元素.

如果它是嵌套的后代 - 它不应返回任何内容,但它会返回test2.

我该如何写回来test,但不是test2吗?谢谢

更新:关于SO的一般共识似乎是简单的HTML DOM是坏的.我最后DOMDocument根据Phil 的建议使用PHP编写代码.我测试了Nevermind的解决方案,它确实也有效.感谢所有帮助和Happy Coding

sin*_*ake 2

好吧,这应该(必须,实际上:))有效(在 4 个 div 上测试):

foreach($html->find('div.element') as $element) {


$paragraph=$element->find('p',0);

    if($paragraph==$element->first_child())
    echo $paragraph;

}
Run Code Online (Sandbox Code Playgroud)