我正在使用 simplehtmldom 来查找网站中的特定元素。
我的代码
function strpos_arr($haystack) {
$needle = array('menu', 'nav');
if(!is_array($needle)) $needle = array($needle);
foreach($needle as $what) {
if(($pos = strpos($haystack, $what))!==false)
return true;
}
return false;
}
$first = true;
foreach($html->find('ul') as $ul){
if ( strpos_arr($ul->id) OR strpos_arr($ul->class) ) {
if ( $first )
{
foreach($ul->find('li a') as $li)
{
echo $li.'<br>';
}
$first = false;
}
}
}
?>
此代码显示所有 li 元素中的所有链接,包括嵌套在 li 元素下的 ul 元素中的链接。我只需要回显 li 中的主要 a 元素,而不是嵌套在 ul subs 下的那些元素。
编辑:
需要的行被标记为“我需要的一个 href”
<ul id="parent">
<li>a href I need<li>
<li>a href I need<li>
<li>a href I need<li>
<li>a href I need<li>
<ul id="sub">
<li>a href I DON'T need<li>
<li>a href I DON'T need<li>
</ul>
<li>a href I need<li>
<li>a href I need<li>
</ul>