Подтвердить что ты не робот

CKEditor unwanted персонажи

Как я могу отключить CKEditor, чтобы получить меня каждый раз  , когда я не хочу их? Я использую CKEditor с адаптером jQuery.

Я не хочу иметь теги  .

4b9b3361

Ответ 1

После некоторых исследований я мог бы пролить свет на эту проблему - к сожалению, не существует готового решения.

В CKEditor есть четыре способа, по которым не может быть места без пробелов (кто-нибудь знает больше?):

Сводка: Чтобы избавиться от всех пробелов, вам нужно написать дополнительную функцию, которая очищает ввод пользователя.

Комментарии и дальнейшие предложения очень ценятся! (Я использую ckeditor 3.6.4)

Ответ 2

Существует другой способ, которым может иметь место разрывный символ пробела. Просто введите пробел в конце предложения.

CKEditor скрывает основные объекты HTML вместе с латинскими и греческими объектами.

Добавьте эти параметры конфигурации, чтобы предотвратить это (вы также можете добавить их в свой файл конфигурации):

CKEDITOR.on( 'instanceCreated', function( event ) {
 editor.on( 'configLoaded', function() {

  editor.config.basicEntities = false;
  editor.config.entities_greek = false; 
  editor.config.entities_latin = false; 
  editor.config.entities_additional = '';

 });
});

Эти параметры будут препятствовать тому, чтобы CKEditor удалял nbsp gt lt amp ' " другой латинский и греческий символы.

Источники: http://docs.ckeditor.com/#!/api/CKEDITOR.config http://docs.ckeditor.com/source/plugin48.html#CKEDITOR-config-cfg-basicEntities

Ответ 3

Try:

config.basicEntities = false;

для меня исправлена ​​проблема.

Ответ 4

в config.js:

CKEDITOR.editorConfig = function( config ) {
  config.enterMode = CKEDITOR.ENTER_BR; // <p></p> to <br />
  config.entities = false;
  config.basicEntities = false;
};

Он работает для меня, после того как вы можете распечатать текст с помощью php: html_entity_decode( $someText );

Ответ 5

Я заметил, что некоторые операции редактирования текста, такие как удаление символа (нажатием кнопки Backspace), разделяют отредактированный текст node на два. Пробел пробела в конце такого вновь созданного текста node всегда приводит к &nbsp; вместо нормального пространства. Я вызываю normalize() http://www.w3schools.com/jsref/met_node_normalize.asp для изменения элемента после изменения:

CKEDITOR.on('instanceReady', function (ck) {
    ck.editor.on("change", function (e) {
        var sel = ck.editor.getSelection();
        if (sel) {
            var selected = sel.getStartElement();
            if (selected && selected.$)
                sel.getStartElement().$.normalize();
        }
    });
 });

Ответ 6

У меня были те же проблемы с созданием некоторых таблиц. Я видел, что если я создал таблицы с правилом css align="left", добавлен <p>&nbsp;</p>, но если бы я изменил правило css на align="center", я смог бы отредактировать абзацы, и они не были добавлены снова.

Ответ 7

Мне уже пришлось играть с config.js, поэтому, чтобы исправить '?' появляясь в сафари, я закончил с 3 строками в config.js

config.fillEmptyBlocks = function (element) {
return true; // DON'T DO ANYTHING!!!!!};
config.entities = false;
config.basicEntities = false;

Ответ 8

Если вы используете PHP, вы можете использовать следующее:

preg_replace("/[\<]p[\>][\s]+&nbsp;[\<][\/]p[\>]/" , " " , $pre_comment);

Это приведет к удалению: "<p> &nbsp;</p>"

Наслаждайтесь:)

Максвелл

Ответ 9

Добавьте это в свой config.js

config.enterMode = CKEDITOR.ENTER_BR,