Parsing 我如何才能停止使用双精度<;替换段落;br>;从Word粘贴时

Parsing 我如何才能停止使用双精度<;替换段落;br>;从Word粘贴时,parsing,ckeditor,wysiwyg,copy-paste,Parsing,Ckeditor,Wysiwyg,Copy Paste,当我在CKEditor中使用从Word粘贴或作为纯文本粘贴选项时,双线返回将转换为的双实例 虽然从技术上讲,这正是源文件中存在的内容,但如果有一种方法可以在从外部文档粘贴时将所有双线返回转换为段落标记,那将是非常棒的。TinyMCE似乎没有为此而挣扎 使用CKEditor可以实现这一点吗 我正在使用Pixel&Tonic的Wygwam版本的CKEditor,其推论是它不能像现在这样做:(因为我花了几个小时搜索同一件事,发现很多帖子都在问,但没有人回答,所以我决定自己解决 以下是解决方案,希望它能

当我在CKEditor中使用从Word粘贴或作为纯文本粘贴选项时,双线返回将转换为
的双实例

虽然从技术上讲,这正是源文件中存在的内容,但如果有一种方法可以在从外部文档粘贴时将所有双线返回转换为段落标记,那将是非常棒的。TinyMCE似乎没有为此而挣扎

使用CKEditor可以实现这一点吗


我正在使用Pixel&Tonic的Wygwam版本的CKEditor,其推论是它不能像现在这样做:(

因为我花了几个小时搜索同一件事,发现很多帖子都在问,但没有人回答,所以我决定自己解决

以下是解决方案,希望它能为您节省我浪费的时间:

在config.js中添加:

CKEDITOR.on('instanceReady', function (ev) {
    ev.editor.on('paste', function (ev) {
        ev.data.html = ev.data.html.replace(/<br>\s*<br>/g, '</p><p>');
    });
});
CKEDITOR.on('instancerady',函数(ev){
ev.editor.on('paste',函数(ev){
ev.data.html=ev.data.html.replace(/
\s*
/g,

'); }); });
真正解决我这个问题的是:

  • 将此行放入config.js:
    “config.enterMode=CKEDITOR。输入\u BR;”
  • 当您在编辑器中按ENTER键时,将创建一个“br”而不是“p”

  • 然后将此脚本放在替换


    CKEDITOR.replace('description',{enterMode:CKEDITOR.ENTER\u BR,shiftEnterMode:CKEDITOR.ENTER\u BR})

    CKEDITOR.on('instancerady',函数(ev)
    {
    ev.editor.dataProcessor.writer.setRules('br',
    {
    缩进:假,
    在打开之前先打开:错误,
    breakAfterOpen:false,
    breakBeforeClose:false,
    breakAfterClose:错误
    });
    });
    
  • 该脚本阻止了双重“br”


    希望能有所帮助。

    以下是我在CKEditor 4中的工作方法(其中,
    ck
    是一个编辑器实例):

    ck.on('afterPaste',function(){
    var data=ck.getData();
    数据=数据。替换(/\s*/g,

    '); ck.setData(数据); });
                    CKEDITOR.on( 'instanceReady', function( ev )
                    {
                     ev.editor.dataProcessor.writer.setRules( 'br',
                     {
                      indent : false,
                      breakBeforeOpen : false,
                      breakAfterOpen : false,
                      breakBeforeClose : false,
                      breakAfterClose : false
                    });
                    });
                 </script> 
    
            ck.on('afterPaste', function() {
                var data = ck.getData();
                data = data.replace(/<br \/>\s*<br \/>/g, '</p><p>');
                ck.setData(data);
            });