PHP DOM从第一个ul元素获取项目

jan*_*s83 3 php dom element

我有html文件,看起来像这样:

<ul>
 <li>item 1</li>
 <li>item 2</li>
 <li>item 3</li>
</ul>
<ul>
 <li>smth 1 2 3..</li>
 <li>another</li>
<ul>
<ul>
 <li>smth 1 2 3..</li>
 <li>another</li>
<ul>
Run Code Online (Sandbox Code Playgroud)

我试图从第一个ul列表中获取元素.我正在使用此代码,但它返回错误:

<?php
    $dom = new DOMDocument();
            $dom->loadHTML($data);
            $postalCodesList = $dom->getElementsByTagName('ul');
            foreach ($postalCodesList->item(0) as $postalCodesList) {
                 echo $postalCodesList->nodeValue.'<br />';

            }
?>
Run Code Online (Sandbox Code Playgroud)

Mus*_*usa 8

将DomNode传递给foreach将不允许您遍历其中的childen,您可以轻松获取lis 列表并迭代它们.

<?php
    $dom = new DOMDocument();
    $dom->loadHTML($data);
    $postalCodesList = $dom->getElementsByTagName('ul');
    foreach ($postalCodesList->item(0)->getElementsByTagName('li') as $postalCodesList) {
        echo $postalCodesList->nodeValue.'<br />';                    
    }
?>
Run Code Online (Sandbox Code Playgroud)

DEMO