Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP简单HTML DOM解析器:仅获取父级_Php_Jquery_Domparser - Fatal编程技术网

PHP简单HTML DOM解析器:仅获取父级

PHP简单HTML DOM解析器:仅获取父级,php,jquery,domparser,Php,Jquery,Domparser,我正在为此HTML使用“PHP简单HTML DOM解析器”: <ul id="menu-test-header" class="nav-menu"> <li> <a href="">Test</a> <ul class="sub-menu"> <li> <a href="">sub test</a>

我正在为此HTML使用“PHP简单HTML DOM解析器”:

<ul id="menu-test-header" class="nav-menu">
    <li>
        <a href="">Test</a>
        <ul class="sub-menu">
            <li>
                <a href="">sub test</a>
                <a href="">sub test</a>
                <a href="">sub test</a>
            </li>
       </ul>
    </li>
    <li>
        <a href="">Test</a>
    </li>
    <li>
        <a href="">Test</a>
        <ul class="sub-menu">
            <li>
                <a href="">sub test</a>
            </li>
       </ul>
    </li>
</ul>

谢谢大家,对我的英语不好表示歉意:-)

作为替代,您可以首先指出主
中的第一个
  • 子项,然后从那里开始,针对每个
    谢谢,但这不适用于meIt,可能问题是“PHP简单HTML DOM解析器”不支持>选择器?啊,你说得对!鬼的答案的第二部分绝对是要走的路。一个好主意!但html有时可能略有不同。所以我有点害怕使用这个解决方案。
    
    foreach($html->find(".header-main .nav-menu li > a") as $menu) {
        echo $menu->plaintext;
    }
    
    foreach($html->find('ul#menu-test-header', 0)->children() as $li) {
        echo $li->children(0);
    }
    
    $dom = new DOMDocument;
    $dom->loadHTML($html_string);
    $xpath = new DOMXpath($dom);
    $first_list_links = $xpath->evaluate('//ul[@id="menu-test-header"]/li/a');
    foreach($first_list_links as $links) {
        echo $dom->saveHTML($links);
    }