小编J.L*_*ill的帖子

对html片段的loadHTML LIBXML_HTML_NOIMPLIED会生成错误的标记

将LIBXML_HTML_NOIMPLIED标志与html片段一起使用会生成错误的标记:

$str = '<p>Lorem ipsum dolor sit amet.</p><p>Nunc vel vehicula ante.</p>';
$doc = new DOMDocument();
$doc->loadHTML($str, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
echo $doc->saveHTML();
Run Code Online (Sandbox Code Playgroud)

输出:

<p>Lorem ipsum dolor sit amet.<p>Nunc vel vehicula ante.</p></p>
Run Code Online (Sandbox Code Playgroud)

我发现使用正则表达式可以解决这个问题,但这会破坏使用DOM的目的.我用几个版本的libxml和php测试了这个,最新的libxml 2.9.2,php 5.6.7(Debian Jessy).任何建议赞赏.

html php domdocument

17
推荐指数
2
解决办法
5959
查看次数

标签 统计

domdocument ×1

html ×1

php ×1