问题在于:我有一个网页可以将HTML片段保存到服务器端。问题是在PHP中,当我启动DOMDocument解析器时,将自定义属性添加到给定元素并将HTML保存为文件,它实际上添加了html,正文和其他显然不会有效的不必要元素因为该片段将作为要插入DOM模型的HTML片段返回浏览器,并且它将无效(您不能嵌套HTML / BODY)。这是我的代码的一个简单示例:
$html="<div><magic></magic>
<video controls></video>
<a href='http://example.com'>Example</a><br>
<a href='http://google.com'>Google</a><br></div>
";
$dom = new DOMDocument();
$dom->loadHTML($html);
$html=$dom->C14N();
echo $html;
但它显示:
<html>
<body>
<div>
<magic></magic>
<video controls=""></video>
<a href="http://example.com">Example</a>
<br></br>
<a href="http://google.com">Google</a>
<br></br>
</div>
</body>
</html>
如何只保存碎片HTML?我想出了$ dom-&gt; C14N()但它仍然添加了html和body标签。它还增加了</br>
,但这没什么大不了的。
此时,我正在使用preg_replace删除html和body标签,但如果有一种方法可以将其保存为片段,那将会很好。