问题陈述:
下面的代码片段尝试保存没有 XML、HTML、body 和 p 标记包装器的 DOMDocument 的 HTML 内容,但它遇到了问题当内容包含块级元素时。
$postarray['post_content'] = $d->saveXML($d->getElementsByTagName('p')->item(0));
使用 loadHTML 选项修复:
要解决此问题,请使用带有以下选项的 loadHTML() 方法:
$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
这些选项指示 Libxml 解析 HTML,而不添加隐含元素或默认元素doctype:
结果:
使用这些选项,saveHTML() 现在将输出 HTML 内容,而无需不必要的包装。
注意:
以上是如何在没有不需要的包装标签的情况下保存 DOMDocument HTML?的详细内容。更多信息请关注PHP中文网其他相关文章!