繁体   English   中英

CKEditor 添加<p></p>初始化后

[英]CKEditor adds <p>&nbsp;</p> after initializing

我已经尝试了各种设置来摆脱这个问题,但到目前为止我还没有任何运气。 我在我的 angular(1.5.6) 应用程序中运行 CKEditor。 首先,我使用了这个angular 指令,但是在遇到这个问题之后,我尝试用尽可能少的东西运行 CKEditor 来找到这个问题的原因。

Atm 这是我在控制器中的全部内容:

$scope.description = "<p>test</p><p>test</p>";
CKEDITOR.replace('description');
CKEDITOR.instances['description'].setData($scope.description);

在我看来:

<div id="description"></div>

初始化后,这是我在编辑器中的内容:

<p>test</p>

<p>test</p>

<p>&nbsp;</p>

每次加载 CKEditor 时,它都会添加这个空段落。 现在,如果我保存它,则空段落将保存到数据库中。 再次加载时,它将有 2 个空段落。

这是我尝试解决此问题的设置列表。 大多数情况下,我已经一一使用它们。

$scope.ckEditorOptions = {
    ignoreEmptyParagraph: false,
    enterMode: CKEDITOR.ENTER_BR,
    autoParagraph: false,
    fillEmptyBlocks: false,
    shiftEnterMode: CKEDITOR.ENTER_BR,
    basicEntities: false,
    tabSpaces: 0,
};

我对类似的问题感到困惑(使用 CKGEdit for DokuWiki 和 CKEditor 在页面顶部和某些元素下方添加空段落)。 现在通过将它添加到 config.js 的底部来解决它:

var ed = CKEDITOR.instances.wiki__text;
var t = ed.getData().replace(/<p>[\s*|&nbsp;]<\/p>/gm,'');
ed.setData(t, function() {
    this.checkDirty();
});

..这可能是在相同情况下对其他人有用的东西的基础。

在不引入其他问题(例如破坏维基标记)的情况下,所有编辑器选项都没有帮助。

我正在使用 V4.16。 每次我点击“保存”按钮时,它都会添加 ap 标签,并在文本的开头和结尾添加一个不间断空格。 我使用配置文件完成了所有建议的操作,但没有运气。 所以现在我使用 PHP 函数 str_replace() 来处理从编辑器到数据库的文本。 不是很优雅,但很管用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM