我在标准包中使用最新版本的 CKEditor(4.7 至今),我希望能够强制它保留换行符元素(<br>
)。
我尝试使用以下配置,但没有成功:
CKEDITOR.replace('ck', {
allowedContent: true,
enterMode: CKEDITOR.ENTER_BR
});
如你所见in this jsfiddle ,当您打开源模式时,<br>
标签已替换为
.
你是如何实现的?
最佳答案
在此 CKEditor ticket 上给出了解决方法(或至少是部分解决方法) ,这会强制 CKEditor 保留 <br>
标签:
editor.on( 'pluginsLoaded', function( evt ){
evt.editor.dataProcessor.dataFilter.addRules({
elements :{
br : function( element ) {
//if next element is BR or <!--cke_br_comment-->, ignore it.
if( element && element.next && ( element.next.name == 'br' || element.next.value == 'cke_br_comment' ) ){
return;
}else {
var comment = new CKEDITOR.htmlParser.comment( 'cke_br_comment' );
comment.insertAfter( element );
}
}
}
});
evt.editor.dataProcessor.htmlFilter.addRules({
comment : function( value, node ) {
if( value.indexOf('cke_br_comment') >= 0 ) {
return false;
}
}
});
编辑:您可能还想查看我的 other answer根据您的需要,这可能会更好。
关于html - 如何强制 CKEditor 保留 <br> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44501658/