首页 文章

在CKEditor中添加<p>时删除不需要的换行符

提问于
浏览
14

在CKEditor中加载带有一组段落的内容时,它会用 <p>&#x9; 替换我的 <p> 标签

这意味着编辑器转换为:

<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>

到最后是这样的:

<p>
   paragraph 1</p>
<p>
   paragraph 2</p>
<p>
   paragraph 3</p>

如何修复它以便CKEditor在看到段落标记时不添加额外的换行符?

5 回答

  • 1

    如果您像我一样,并希望在实例级别执行此操作,并且不希望触摸配置文件,以便更新/升级 . 那么这是另一种解决方案 .

    CKEDITOR.replace( 'editor1',
    {
        on :
        {
            instanceReady : function( ev )
            {
                // Output paragraphs as <p>Text</p>.
                this.dataProcessor.writer.setRules( 'p',
                    {
                        indent : false,
                        breakBeforeOpen : true,
                        breakAfterOpen : false,
                        breakBeforeClose : false,
                        breakAfterClose : true
                    });
            }
        }
    });
    

    参考:Output Formatting

  • 1

    我相信有一个设置来格式化代码,或自动缩进或沿着这些行的东西 . 它旨在使源代码更具可读性 . 我认为它的有效性是开放的 .

  • 0

    将此行添加到ckeditor.js配置文件中:

    n.setRules('p',{indent:false,breakAfterOpen:false});
    

    有关HTML Writer格式的更多信息,请参阅CKSource文档的Developers Guide: Output Formatting .

  • 25

    最好的解决方案,就像一个魅力:

    编辑 contents.css 文件并设置段落的样式,例如

    p {
         margin-top:0px;
         margin-bottom:5px;
     }
    
  • 12

    在其他地方(我道歉,我没有记下我从哪里得到它 . ),我找到了代码来解决所有块级标签的问题 . 对于我的项目,额外的新行是一个问题,因为输出到XML并作为CDATA导入到其他应用程序 .

    所以,在我的ckeditor_config.js文件中,在CKEDITOR.editorConfig函数之后,我输入:

    CKEDITOR.on('instanceReady', function( ev ) {
      var blockTags = ['div','h1','h2','h3','h4','h5','h6','p','pre','li','blockquote','ul','ol',
      'table','thead','tbody','tfoot','td','th',];
    
      for (var i = 0; i < blockTags.length; i++)
      {
         ev.editor.dataProcessor.writer.setRules( blockTags[i], {
            indent : false,
            breakBeforeOpen : true,
            breakAfterOpen : false,
            breakBeforeClose : false,
            breakAfterClose : true
         });
      }
    });
    

    其中一些要素可能不需要这种处理;很明显,blockTags数组可以根据您的需要轻松编辑 .

相关问题