[英]CKEditor adds <p> </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> </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*| ]<\/p>/gm,'');
ed.setData(t, function() {
this.checkDirty();
});
..这可能是在相同情况下对其他人有用的东西的基础。
在不引入其他问题(例如破坏维基标记)的情况下,所有编辑器选项都没有帮助。
我正在使用 V4.16。 每次我点击“保存”按钮时,它都会添加 ap 标签,并在文本的开头和结尾添加一个不间断空格。 我使用配置文件完成了所有建议的操作,但没有运气。 所以现在我使用 PHP 函数 str_replace() 来处理从编辑器到数据库的文本。 不是很优雅,但很管用!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.