Javascript CKEditor插入空白的P标记,而不是无效元素

Javascript CKEditor插入空白的P标记,而不是无效元素,javascript,ckeditor,fckeditor,Javascript,Ckeditor,Fckeditor,按“源”按钮,然后将此文本传递到编辑器: <p><h2> Info:</h2> <p> <dt> Controls</dt> </p> 信息: 控制 然后按Source切换到查看模式。然后再次按Source查看代码。 此HTML已转换为: <p> &nbsp;</p> <h2> Info:</h2>

按“源”按钮,然后将此文本传递到编辑器:

<p><h2>
    Info:</h2>
<p>
    <dt>
        Controls</dt>
</p>

信息:

控制

然后按Source切换到查看模式。然后再次按Source查看代码。 此HTML已转换为:

<p>
    &nbsp;</p>
<h2>
    Info:</h2>
<p>
    &nbsp;</p>
<dl>
    <dt>
        Controls</dt>
</dl>
<p>
    &nbsp;</p>
<ul>
    <li>
        GK Volume, Down/S1 Switch, Up/S2 Switch, Select Switch</li>
</ul>

信息:

控制

  • GK音量、下降/S1开关、上升/S2开关、选择开关
如何配置CKEditor不插入此块:

<p>&nbsp;</p>


编辑做自己认为最好的事。

根据官方的建议,因为空段落应该折叠到零高度,所以它加入了一个nbsp来防止空段落。它试图从您的输入中创建有效的HTML,这也是它插入
标记的原因。

您不能在
中包含
,如果这是您的要求的话。否则,如果您不想将
粘贴到生成的文档中,为什么要粘贴它?好吧,最好的解决方案是不要使用所见即所得。@事实是,这样他就会留下无效的HTML@李斯特先生:在这种情况下,他不应该写无效的HTML!没有一个程序能够100%准确地纠正无效的HTML,也没有人会愚蠢到尝试编写一个。自己编写有效的HTML,不要使用所见即所得。就这么简单。@Truth一个编辑器对初学者来说是非常有教育意义的,特别是当它向您展示了在源代码和所见即所得模式之间切换时,您首先应该编写的内容。当然,没有一个编辑器总是正确的,但至少如果它破坏了你的输入,你会知道你做错了。