我使用Curl抓取网址,SIMPLE HTML DOM获取数据。我想要<li>
下的数据。但问题是页面上还有其他<ul>
和<li>
。他们没有课程或身份证。这是我的html
代码。
<div class="parent" id="parent">
<div class="child">
<div class="grandchild">
<p>Text Paragraph</p>
<h2>Heading</h2>
<ul>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
</ul>
<p>Text</p>
</div>
</div>
</div>
只有顶级div的id
是唯一的。
答案 0 :(得分:3)
您可以使用以下方法检索li项目:
foreach ($html->find("#parent li") as $li)
echo $li->plaintext . "\n";
不需要对UL进行双重迭代,然后再进行LI迭代。
答案 1 :(得分:2)
这会给你结果。
$html = str_get_html('<div class="parent" id="parent">
<div class="child">
<div class="grandchild">
<p>Text Paragraph</p>
<h2>Heading</h2>
<ul>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
<li>Heading Date Text</li>
</ul>
<p>Text</p>
</div>
</div>
</div>');
foreach($html->find('div#parent ul') as $ul)
{
foreach($ul->find('li') as $li)
{
echo $li->plaintext."<br>";
}
}