CKEDITOR-<p>而不是<br/>导致复制粘贴问题

CKEDITOR - <p> instead of <br/> causing copy-paste issues

本文关键字:gt lt 复制 问题 CKEDITOR- br      更新时间:2024-04-08

不久前,我将CKEDITOR更改为不使用<br>标记,而是使用<p>。这让事情对我来说容易多了。

但今天我发现了一个问题。。。当我粘贴到ckeditor这个文本:

文本

更多文本

CKEDITOR制作了这个:<p>Text</p><p>More text</p>。我如何配置ckeditor,使其在整个文本上只放置一个<p>标记,而在其内部放置<br/>的?

没有用于粘贴自身的配置选项。但是,如果将config.enterMode设置为CKEDITOR.ENTER_BR,则可以更改整个CKEditor的行为。那么CKEditor根本不会使用段落。另一方面,不建议使用其他输入模式,因为默认模式(CKEDITOR.ENTER_P)是最正确、最语义、最受支持的。

不过,如果必须更改粘贴行为,还有一种方法。您可以收听editor#paste事件并以自己喜欢的方式转换内容。非常粗略的实现如下所示:

editor.on( 'paste', function( evt ) {
    var data = evt.data.dataValue;
    data = data
        .replace( /^<p>/, '' )
        .replace( /<'/p>$/, '' )
        .replace( /<'/p><p>/g, '<br />' );
    evt.data.dataValue = data;
} );