Php HTML列表到数组

Php HTML列表到数组,php,list,Php,List,如何通过php解析多级HTML列表并获取数组 我正在尝试这个代码 $text='<ol> <li>31</li> <li>32</li> <li>33</li> <li>34</li> <li> <ol>

如何通过php解析多级HTML列表并获取数组


我正在尝试这个代码

$text='<ol>
            <li>31</li>
            <li>32</li>
            <li>33</li>
            <li>34</li>
            <li>
                <ol>
                    <li>341</li>
                    <li>342</li>
                    <li>343</li>
                    <li>344</li>
                    <li>
                        <ol>
                            <li>3441</li>
                            <li>3442</li>
                            <li>3443</li>
                            <li>3444</li>
                        </ol>
                    </li>
                </ol>
            </li>
        </ol>';


$html = str_get_html($text);
foreach( $html->find('ol') as $ol)
{
    $array[] = $ol->innertext; 
}

print_r($array);

有了一个。

一切都在那里。对
$html
对象执行
var\u导出
,以查看整个对象结构。要将数据放入所需的数组中,您可能必须使用树遍历例程(即firstChild、nextSibling等)并构建数组。

非常感谢,但这会解析HTML列表,如$OL[0]、$OL[1]、$OL[2]…,我需要像这样的多级解析器$OL[0][0]、$OL[0][1]和$OL[1][0]、$OL[1][2]等等……那么你就得涂点肘部润滑脂了。
Array
(
    [0] => 
            <li>31</li>
            <li>32</li>
            <li>33</li>
            <li>34</li>
            <li>
                <ol>
                    <li>341</li>

                    <li>342</li>
                    <li>343</li>
                    <li>344</li>
                    <li>
                        <ol>
                            <li>3441</li>
                            <li>3442</li>

                            <li>3443</li>
                            <li>3444</li>
                        </ol>
                    </li>
                </ol>
            </li>

    [1] => 
                    <li>341</li>

                    <li>342</li>
                    <li>343</li>
                    <li>344</li>
                    <li>
                        <ol>
                            <li>3441</li>
                            <li>3442</li>

                            <li>3443</li>
                            <li>3444</li>
                        </ol>
                    </li>

    [2] => 
                            <li>3441</li>
                            <li>3442</li>

                            <li>3443</li>
                            <li>3444</li>

)
Array
(
    [0] => Array
               (
              [0] => Array
                         (
                          [0] =>....