класс php DOMDocument: дерево узлов - PullRequest
0 голосов
/ 03 апреля 2011

Я хочу преобразовать синтаксис html в дерево узлов (<ul> структура). Как мне сделать это с помощью класса DOMDocument?

$html = '

   <div>
       <p>
           <a>
       </p>
  </div>

';



Результат:

<ul>
   <li>
       div
        <ul>
            <li>
               p
                <ul> 
                    <li>a</li>
                </ul> 
           </li>
        </ul>
   </li>
</ul>

1 Ответ

0 голосов
/ 03 апреля 2011
<?php
$xml = '<div>
       <p>
           <a>#</a>
       </p>
  </div>
';

function xml2array($xml,&$result = '') {
    foreach($xml->children() as $name => $xmlchild) {
        xml2array($xmlchild,$result);
    }
    $result = "<ul><li>".$xml->getName().$result."</li></ul>";
}
$result='';
$dd = xml2array(simplexml_load_string($xml),$result);
echo "<pre>";
print_r($result);

выход

<ul>
    <li>
        div
        <ul>
            <li>
                p
                <ul>
                    <li>
                        a
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
...