PHP DOM从第一个ul元素获取项 [英] PHP DOM get items from first ul element

查看:132
本文介绍了PHP DOM从第一个ul元素获取项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有html文件,如下所示:

I have html file which looks like this:

<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>

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

I am trying to get elements only from first ul list. I am using this code, but it returns errors:

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

            }
?>


推荐答案

将DomNode传递给foreach不会允许您重复通过它的小孩,你可以很容易地得到 li 的列表,并通过它们进行迭代。

Passing a DomNode to foreach will not allow you to iterate through its childen, you can easily get the list of lis and iterate through them.

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

演示

这篇关于PHP DOM从第一个ul元素获取项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆