Diziye HTML listesi

2 Cevap php

Nasıl düzeyli HTML listesi ayrıştırmak ve php ile bir dizi alabilirsiniz


Ben bu kodu çalışıyorum

$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);

Burada sonucudur

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>

)

Ama bu gibi bir şeye ihtiyacım var

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

2 Cevap

Bir ile HTML parser.

Hepsi orada var. Tüm nesne yapısını görmek için $html nesne üzerinde bir var_export yapın. İstediğiniz diziye veri almak için, ağaç yürüme rutinleri (yani, firstChild, nextSibling, vb) kullanmak zorunda, ve dizinizi inşa olabilir.