CKEditor转换以下代码:
<h3>H3
<ul>
<li>el 1</li>
<li>el 2</li>
</ul></h3>
到
<h3>H3 </h3>
<ul>
<li>el 1</li>
<li>el 2</li>
</ul>
有没有办法防止这种行为?
答案 0 :(得分:1)
TL; DR;的没有强>
CKEditor是一个HTML4 / xHTML编辑器,基于DTD,它提供了一套完整的规则,规定哪些标签可用,以及它们在DOM中的显示位置和方式。
如果您要检查DTD
,则可以看到H3
是heading
标记(block
),其中只能包含内嵌标记。
<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
....
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
....
<!ELEMENT h3 %Inline;>
<!ATTLIST h3
%attrs;
%TextAlign;
>
ul
标记也是block
标记,因此无法显示在h3
标记内:
<!ENTITY % lists "ul | ol | dl | menu | dir">
....
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">