【发布时间】:2018-03-20 09:04:25
【问题描述】:
使用 PHP 和 DOMDocument 类从 TinyMCE 编辑器解析 HTML。我在将 <hr /> 元素插入编辑器时遇到问题,因为 DOMDocument 不断丢失其余代码。
# Input: <hr /><p> </p><p>test input</p>
$domDoc = new DOMDocument();
$domDoc->loadHTML($input, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
var_dump($domDoc->saveHTML());
// Result: <hr>
我找不到任何原因,也找不到loadHTML() 的选项来防止这种情况。到底发生了什么,我可以在这里使用hr 元素吗?
【问题讨论】:
-
当你删除 libxml 标志时它可以工作
-
是的,但这会添加 html 包装器和正文标签,我不想要这些。
-
@Rcls 你可以自己取出那些,只需选择body标签子项并获得你想要的那些值,这是你的选择;如果你想保留标志
-
我会试试的。谢谢!
-
嗯,您的解决方案相当冗长。我必须单独删除 doctype、html 和 body 元素,同时保持子元素完整,或者以某种方式直接跳转到 body 子元素,在这种情况下我必须再次将 HTML 重新加载到 Domdocument?
标签: php domdocument