PHP DOM从第一个ul元素获取项目
我的html文件如下所示:PHP DOM从第一个ul元素获取项目,php,dom,element,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..</
<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>
- 项目1
- 项目2
- 项目3
- smth 1 2 3
- 另一个
- smth 1 2 3
- 另一个
我试图只从第一个ul列表中获取元素。我正在使用此代码,但它返回错误:
<?php
$dom = new DOMDocument();
$dom->loadHTML($data);
$postalCodesList = $dom->getElementsByTagName('ul');
foreach ($postalCodesList->item(0) as $postalCodesList) {
echo $postalCodesList->nodeValue.'<br />';
}
?>
将DomNode传递给foreach将不允许您遍历其子节点,您可以轻松获得
li的列表并遍历它们
<?php
$dom = new DOMDocument();
$dom->loadHTML($data);
$postalCodesList = $dom->getElementsByTagName('ul');
foreach ($postalCodesList->item(0)->getElementsByTagName('li') as $postalCodesList) {
echo $postalCodesList->nodeValue.'<br />';
}
?>
它会返回什么错误?我通常做这种类型的工作。