CKEditor and escaping elements

北慕城南 提交于 2019-12-01 17:16:45

问题


I've using CKEditor for updating CMS content on my website. I also using FontAwesome, which includes set of fancy icons, that can be displayed like this

<i class="icon-envelope"></i>

The problem is that CKEditor escapes this i tag on client side, and I can't see it in source mode.

How I can allow this tag? I have tried CONFIG.removeFormatTags = '', but it dies not help.


回答1:


It is removed because it is empty. Put some non-breaking space &nbsp; or zero-width space &#8203; within it to preserve your tag.

You can also remove i from CKEDITOR.dtd.$removeEmpty object. This may, however, break other empty <i> tags without class="icon-envelope". To fix this you would need to play with a data processor to filter empty <i>'s without class="icon-envelope". Pretty easy I guess.




回答2:


below worked for me.. thanks to Vince Kronlein pointing out config.fillEmptyBlocks

CKEDITOR.editorConfig = function( config ) {
       config.fillEmptyBlocks="&#8203;";  
}
CKEDITOR.dtd.$removeEmpty['span'] = false;
CKEDITOR.dtd.$removeEmpty['i'] = false;


来源:https://stackoverflow.com/questions/14829961/ckeditor-and-escaping-elements

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!