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
好吧,这应该(必须,实际上:))有效(在 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)
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |