CKeditor-4,如何禁用Font-Symbol?

时间:2013-10-24 20:14:56

标签: utf-8 ckeditor

我的online CMS(现在使用 CKEditor v4.2.2 )不支持<font face="Symbol">,因此在线编辑工具必须保留“纯度“在线版本的UTF-8。

当用户从外部文本复制/粘贴到CKeditor框时会出现问题,

 <p><font face="Symbol">&bull; </font>blabla 
    <font face="Symbol">S</font> blabla;</p>

CKEditor可以将这些<font face="Symbol">转换为“免费的UTF-8”吗?也就是说,CKEditor可以保存

 <p>&#8226; blabla &#931; blabla;</p>

有些配置只强制执行UTF8字符,没有字体符号?


已编辑:我的测试情境化配置,

  CKEDITOR.on( 'instanceCreated', function( event ) {  // contenteditable
      var editor = event.editor;
      // ...
      editor.on( 'configLoaded', function() {
           editor.config.skin           = '...';
           // ...
      });
  });

1 个答案:

答案 0 :(得分:1)

首先,如果你想解决这个问题,你需要找到这些字符的字典,这样你就可以将原始字符翻译成他们的UTF-8表示。

要将此转换应用于所有font元素,请使用dataProcessordataFilter适用于加载或插入编辑器的所有数据。

editor.dataProcessor.dataFilter.addRules( {
    elements: {
        font: function( el ) {
            // el will be an instance of CKEDITOR.htmlParser.element
            // el.children[ 0 ] will be an instance of CKEDITOR.htmlParser.text
            // You'll need to read a value of that text, replace
            // all characters with their UTF-8 representatives
            // and return:
            return new CKEDITOR.htmlParser.text( text );
            // That will replace font tags with returned text nodes.
        }
    }
} );

在这里,您可以找到更复杂的dataProcessor使用示例:http://ckeditor.com/forums/CKEditor/Create-new-dom-elements-using-dataProcessor.htmlFilter