由於我們在後端使用htmLawed來過濾進入我們數據庫的錯誤JS/CSS/HTML,因此我正在尋找HTML 4與CKEditor的兼容性。到目前爲止,我們已經設置了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>
我不能使用類。這是因爲我們使用CKEditor的輸出來顯示在前端和PDF中(使用PHP PDF庫)。 PDF庫不知道這些類。 – 12hys