phpdomdocument递归格式化缩进html文档

php domdocument 递归 格式化缩进html文档

function format(\domnode $node, $treeindex = 0)
{
//不格式化的标签if (in_array($node->nodename, array(“title”, “p”, “span”)))
return;
if ($node->haschildnodes()) {
$treeindex++;
$tabstart = “\r\n” . str_repeat(” “, $treeindex);
$tabend = “\r\n” . str_repeat(” “, $treeindex – 1);
$i = 0;
while ($childnode = $node->childnodes->item($i++)) {
//去除空的text nodeif ($childnode->nodetype == xml_text_node and preg_match(‘#^\s*$#’, $childnode->nodevalue)) {
$node->removechild($childnode);
$i–;
continue;
}
$node->insertbefore($node->ownerdocument->createtextnode($tabstart), $childnode);
$i++;
format($childnode, $treeindex);
};
$node->appendchild($node->ownerdocument->createtextnode($tabend));
}
}
$html = ”;
$doc = new \domdocument();
//$doc->formatoutput = true; //不知道是不是我的理解问题,这个选项格式化出来的并不完美$doc->loadhtml($html);
format($doc->documentelement);
echo$doc->savehtml();

以上就介绍了php domdocument 递归 格式化缩进html文档,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。

Posted in 未分类