我正在寻找符合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元素中删除style属性,并在我在前端显示时将列表呈现为不缩进。
<ul style="margin-left: 40px;">
<li>Some Text Here</li>
</ul>
我的问题是......如何阻止所有元素设置任何类型的样式属性?我希望CKEditor使用纯HTML来进行格式化,因为我们只允许一组有限的格式化选项。我真的希望看到CKEditor生成的HTML看起来像这样:
<ul>
<ul>
<li>Some Text Here</li>
</ul>
</ul>
答案 0 :(得分:1)
有两个单独的东西 - 缩进插件应该只能包含列表(改变它们的结构,不添加左边距),而不是块。此时,一个插件会完成两项工作,这是没有意义的。此补丁将在大约一个月内发布 - https://dev.ckeditor.com/ticket/10027。
尽管现在可以配置缩进来使用类而不是样式 - 请参阅config.indentClasses
选项。