CKEditor с выводом jQuery отключен, возможно, из-за специальных символов

#php #jquery #ckeditor #special-characters

#php #jquery #ckeditor #специальные символы

Вопрос:

У меня есть следующий код, который правильно генерирует CKEditor:

 <script>
$(function(){
  $("#newWrite_body").ckeditor({
                                 extraPlugins : 'autogrow',
                                 autoGrow_maxHeight : 800});
});
</script>
  

Затем я беру некоторый текст с веб-страницы, вставляю его в редактор и возвращаю текст обратно при отправке, он отображается:

 <p>
    <b>Fort McKay, Alberta (CNN)</b> -- Celina Harpe was 7 when her grandfather 
       made a prediction that would forever change her life.</p>
<p>
    amp;quot;I wonamp;#39;t see it, Iamp;#39;m too old now, but itamp;#39;s going to be 
    really bad,amp;quot; she recalls him saying on a warm summer night after 
    returning from a moose hunt. The two were standing on a hill that overlooks 
    the birch-and-spruce-lined river here in far northwest Canada.</p>
  

Но когда я echo возвращаю его из PHP-кода перед вставкой, он сводится к:

 <p>
    <b>Fort McKay, Alberta (CNN)</b> -- Celina Harpe was 7 when her grandfather 
    made a prediction that would forever change her life.</p>
<p>
  

По-видимому, специальные символы удаляются. Все мои попытки избежать их и / или преобразовать были тщетными.

Каков правильный способ преобразовать их из текста CKEditor в значение, которое можно публиковать в PHP?

Комментарии:

1. Чтобы исключить специальные символы. Попробуйте добавить специальный символ в начале текста и вставить его. Сколько вы получаете обратно тогда? Также этот CKEditor отправляется через AJAX или через традиционную веб-форму?

2. Я, наконец, нашел ответ. В Javascript есть встроенная функция, называемая «escape». Итак, это сработало: var text = escape(str). И это с ajax.

3. Опубликуйте свой ответ и примите его. Это правильно отметит, что этот вопрос решен.

Ответ №1:

Я, наконец, нашел ответ. В Javascript есть встроенная функция, называемая «escape». Итак, это сработало:

 var text = escape(str);
// THEN POST STRING VIA AJAX
  

И это с ajax.

Ответ №2:

Внутри CKEditor есть настройка конфигурации, которая называется CKEDITOR.config.htmlEncodeOutput

Это может быть то, что вы хотите.

Документация по конфигурации CKEditor