【问题标题】:How to format the HTML output of CKEDITOR?如何格式化CKEDITOR的HTML输出?
【发布时间】:2015-07-14 09:09:46
【问题描述】:

我想格式化 CKEDITOR 的 html 输出。我正在使用此代码为p 标签设置规则

editor_new = CKEDITOR.appendTo( 'editorSpace',{
                on:{
                    instanceReady: function(ev){
                        this.dataProcessor.writer.lineBreakChars = '';
                        this.dataProcessor.writer.setRules( 'p', {
                            indent: false,
                            breakBeforeOpen: false,
                            breakAfterOpen: false,
                            breakBeforeClose: false,
                            breakAfterClose: false
        });

它改变了输出格式

<p>Tony</p>

<p>&nbsp;</p>

<p>Stark</p>

<p>Tony</p>
<p>&nbsp;</p> 
<p>Stark</p>

但问题是当我在编辑器上使用editor.getData() 时,它会在每一行之后添加一个\n,因为它是一个普通字符串。我想在后端消除 \n

我想把编辑器的html配置成这样

<p>Tony</p><p>&nbsp;</p><p>Stark</p>

没有任何空格和中断,因此后端不需要关心来自前端的数据并将其按原样存储在数据库中。有什么办法可以实现吗?

PS:我刚刚展示了p 标签的示例。我想为每个标签实现这一点。简而言之,我想以与缩小的 js 文件存储 javascript 内容相同的方式生成 html。

【问题讨论】:

    标签: javascript html ckeditor


    【解决方案1】:

    只需摆脱HTML Output Writer 插件,即使用config.removePlugins

    CKEDITOR.replace( 'editor', {
        removePlugins: 'htmlwriter'
    } );
    

    【讨论】:

    • 我删除了 'htmlwriter' 插件,但对 html 输出没有影响。它现在正在生成带有额外空格的相同旧输出。
    • @akg 你确定你删除了它吗?请参阅fiddle
    • -yupp 它正在处理 js 小提琴。我已经使用了这个代码 - editor_new = CKEDITOR.appendTo('editorSpace',{ removePlugins: 'htmlwriter' });其中 'editorSpace' 是 div 的 id。我不知道我这边有什么问题。
    猜你喜欢
    • 1970-01-01
    • 2011-01-27
    • 2015-09-09
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    相关资源
    最近更新 更多