Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php文档类:节点树_Php_Html_Html Parsing_Domdocument - Fatal编程技术网

php文档类:节点树

php文档类:节点树,php,html,html-parsing,domdocument,Php,Html,Html Parsing,Domdocument,我想将html语法转换为节点树(结构)。如何使用DOMDocument类实现这一点 $html = ' <div> <p> <a> </p> </div> '; $html='1!' '; 结果: div P a 为什么不使用DOMDocument::load()?函数参数中的这段代码(&$result='')是什么?添加&用于创建引用变量。

我想将html语法转换为节点树(
结构)。如何使用DOMDocument类实现这一点

$html = '

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

';
$html='1!'

';


结果:

  • div
    • P
      • a

为什么不使用DOMDocument::load()?函数参数中的这段代码(&$result='')是什么?添加&用于创建引用变量。
<ul>
   <li>
       div
        <ul>
            <li>
               p
                <ul> 
                    <li>a</li>
                </ul> 
           </li>
        </ul>
   </li>
</ul>
<?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>