是否有可能使用DOMDocument类,不允许它添加文档类型声明,头和身体标签? 我写我当前的代码位的服务器端包含,并且它正在一个已经完全形成了页面上呈现。 我不需要额外的标记。
Answer 1:
自PHP 5.3.6,您可以使用一个节点echo $DOMDocument->saveHTML($the_node_you_want_to_show)
在这之前,我已经被滥用->saveXML()
有小修正。 然而,你必须有1个周边包括节点(例如输出为<div>...somecontent and nodex....</div>
或循环通过节点的孩子,如果你不想有1周围的标签;
$html = '';
foreach($rootnode->childNodes as $node){
$html .= $rootnode->ownerdocument->saveHTML($node);
}
Answer 2:
@Wrikken说什么,或者对于PHP <5.3.6,只需使用正则表达式:
$html = preg_replace('~<(?:!DOCTYPE|/?(?:html|body))[^>]*>\s*~i', '', $dom->saveHTML());
文章来源: PHP DOMDocument without the DTD, head, and body tags?