我正在尝试使用Simple HTML dom解析器获取下面的名字和姓氏的值。 有没有办法可以参考标签并获得下一个兄弟,因为订单可能会改变。
$item['city'] = trim($article->find('label', 0)->plaintext);
代码我已经开始,但我不知道如何引用名字。
HTML
<div class="summary">
<h3>Listing summary</h3>
<ul>
<li>
<label>Reference</label>
<strong>SP44</strong>
</li>
<li>
<label>First Name</label>
<strong>John</strong>
</li>
<li>
<label>Surname</label>
<strong>Smith</strong>
</li>
</ul>
</div>
答案 0 :(得分:0)
循环列表项并根据您的条件检查该项的标签
foreach( $article->find('li') as $li){
switch($li->find('label',0)->plaintext){
case 'First Name':
$item['first_name'] = $li->find('strong', 0)->plaintext;
break;
case 'Surname':
$item['surname'] = $li->find('strong', 0)->plaintext;
break;
}
}
答案 1 :(得分:0)
谢谢,我想出了类似的东西: 与上面的代码相比,这段代码是否使用了大量的处理能力?将它变成函数是否是一个好主意?
foreach($html->find('div[class=summary] li') as $e) {
if(strpos($e->find('label', 0), "first Name") > 0 ) {
echo $e->find('strong', 0). '<br>';
}
if(strpos($e->find('label', 0), "surname") > 0 ) {
echo $e->find('strong', 0). '<br>';
} }