我正在寻找与 CKEditor 的 HTML 4 合规性,因为我们在后端使用 htmLawed 来过滤不良 JS/CSS/HTML 进入我们的数据库。到目前为止,我们已经设置了 htmLawed 来删除任何带有“style”属性的 HTML 元素。这非常适用于核心样式和字体大小/颜色,如我的配置所示:
coreStyles_bold : { element: 'b' },
coreStyles_italic : { element: 'i' },
coreStyles_underline : { element: 'u' },
coreStyles_strike : { element: 'strike' },
fontSize_style :
{
element : 'font',
attributes : { 'size': '#(size)' }
},
colorButton_foreStyle :
{
element : 'font',
attributes : { 'color': '#(color)' }
},
colorButton_backStyle:
{
element : 'font',
styles : { 'background-color': '#(color)' }
}
我遇到的问题是缩进。当我尝试缩进一个列表元素(例如“ul”或“ol”)时,CKEditor 会呈现如下所示的 HTML,并将其发送到服务器。HtmLawed 然后从 ul 元素中去除样式属性,并在我在前端显示列表时将其呈现为未缩进。
<ul style="margin-left: 40px;">
<li>Some Text Here</li>
</ul>
我的问题是......如何防止所有元素设置任何类型的样式属性?我希望 CKEditor 使用纯 HTML 进行格式化,因为我们只允许一组有限的格式化选项。我真的很想看到 CKEditor 生成的 HTML 看起来像这样:
<ul>
<ul>
<li>Some Text Here</li>
</ul>
</ul>