我有源代码:
这是正常文字。
<li class="parent">
<a href="#">F</a>
<ul>
<li>xx</li>
<li>xx</li>
......
</ul>
</li>
我想通过simple_html_dom获取标记plaintext
的{{1}}:
li:nth-child(1)
不
$html->find("li.parent li:nth-child(1)")
答案 0 :(得分:0)
要查找您可以使用的ul
的第一个孩子:
$html->find("li.parent li:nth-child(1)")
OR
$html->find("li.parent li:first-child")
但要获得所有li
,你必须使用这样的循环:
foreach($html->find("li.parent li") as $element)
echo $element->plaintext. '<br>';
答案 1 :(得分:0)
你不能使用简单的html dom复杂的css。 我建议切换到this one:
$html = <<<EOF
<li class="parent">
<a href="#">F</a>
<ul>
<li>xxx</li>
<li>yyy</li>
</ul>
</li>
EOF;
require_once('advanced_html_dom.php');
$doc = str_get_html($html);
echo $doc->find("li.parent li:nth-child(2)", 0)->text;
// yyy