簡體   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