我正在使用loadHTML()函数将一些任意HTML导入DOMDocument中,例如:
$html = '
';$doc = new DOMDocument;
$doc->loadHTML($html);
然后,我想使用DOMDocument方法更改一些属性/节点值,而我可以做到这一点.
完成这些更改后,我想导出HTML字符串(使用-> saveHTML()),而无需DOMDocument自动添加到HTML的< html>< body> …标签.
我知道为什么要添加这些内容(以确保文档有效),但是我该如何恢复已编辑的HTML(基本上是< body>标记之间的所有内容)?
我已经阅读了this post,虽然它提供了一些解决方案,但我还是希望“正确”地进行操作,即在< body>上不使用字符串替换的情况.标签. HTML的有效性不是问题,因为它是事先通过HTML净化器运行的.
有任何想法吗?谢谢.
编辑
我知道PHP 5.3.6中添加到saveHTML()的$node参数,不幸的是我坚持使用5.2.
解决方法:
也许source code会有所帮助-他们正在使用正则表达式删除不必要的字符串:
$content = preg_replace(array("/^\
/si","!