你可以添加HTML处理器过滤器。
editor.dataProcessor.htmlFilter.addRules({
elements :{
p : function( element ){
if ( element.className.indexOf("thiny_p") < 0){
element.className += 'thiny_p';
}
}
}
});
另外,如果不需要将其创建为 ckeditor 插件,则可以在将内容发送到服务器之前使用 jQuery 更改内容。
$("iframe", "#cke_editor1").contents().find("p").addClass("tiny_p");
或者,如果文本区域(源)是活动的
var editor= $("textarea", "#cke_editor1")
editor.val(editor.val().replace(/<p>/gi, "<p class='thiny_p'>"))
你需要微调一下 .replace(/<p>/gi, "<p class='thiny_p'>")
正则表达式以支持其他情况。
编辑
终于有时间在我的电脑上下载和设置编辑器了,这是可以使用的插件。
CKEDITOR.plugins.add( 'customparagraph',
{
init: function( editor )
{
editor.addCommand('addParagraphClassName',{
exec : function( editor ){
var ps = editor.document.$.getElementsByTagName("p");
for (var i=0; i < ps.length; i++){
if(ps[i].className.indexOf("thiny_p") < 0){
ps[i].className += "thiny_p";
}
}
}
});
editor.ui.addButton( 'ThinyP',{
label: 'Appends thiny_p class',
command: 'addParagraphClassName',
icon: this.path + 'images/icon.gif'
});
}
} );
将其放在plugins/customparagraph/plugin.js
中,同时创建图标图片plugins/customparagraph/images/icon.gif
在配置中,您需要在CKEditor安装的config.js
中添加以下配置选项。
CKEDITOR.editorConfig = function( config )
{
config.extraPlugins = "customparagraph";
config.toolbar = [ [ 'ThinyP' ] ];
};
或者
在加载 CKEditor 的页面中
<script type="text/javascript">
CKEDITOR.replace( 'editor1',
{
extraPlugins : 'customparagraph',
toolbar :
[
[ 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ],
[ 'ThinyP' ]
]
});
</script>
用户需要在保存之前单击工具栏按钮。