我的online CMS(现在使用 CKEditor v4.2.2 )不支持<font face="Symbol">
,因此在线编辑工具必须保留“纯度“在线版本的UTF-8。
当用户从外部文本复制/粘贴到CKeditor框时会出现问题,
<p><font face="Symbol">• </font>blabla
<font face="Symbol">S</font> blabla;</p>
CKEditor可以将这些<font face="Symbol">
转换为“免费的UTF-8”吗?也就是说,CKEditor可以保存
<p>• blabla Σ blabla;</p>
有些配置只强制执行UTF8字符,没有字体符号?
已编辑:我的测试情境化配置,
CKEDITOR.on( 'instanceCreated', function( event ) { // contenteditable
var editor = event.editor;
// ...
editor.on( 'configLoaded', function() {
editor.config.skin = '...';
// ...
});
});
答案 0 :(得分:1)
首先,如果你想解决这个问题,你需要找到这些字符的字典,这样你就可以将原始字符翻译成他们的UTF-8表示。
要将此转换应用于所有font
元素,请使用dataProcessor
。 dataFilter
适用于加载或插入编辑器的所有数据。
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