CKEditor удаляет часть символов
Здраствуйте, я пишу довольно не сложное приложение, и возникла трудность с CKEditor. Я использую CKEditor, чтобы добавлять и редактировать статьи на сайте. (Движка на сайте как такого нет, я пишу так-же и php скрипты).
Когда я добавляю в CKEditor статью с JS кодом, который представлен ниже
Программы на JavaScript могут быть вставлены в любое место HTML-документа с помощью тега <script>. Для примера:
<!DOCTYPE HTML>
<html>
<body>
<p>Перед скриптом...</p>
<script>
alert( 'Привет, мир!' );
</script>
<p>...После скрипта.</p>
</body>
</html>
Тег <script> содержит JavaScript-код, который автоматически выполнится, когда браузер его обработает.
Внешние скрипты
Файл скрипта можно подключить к HTML с помощью атрибута src:
<script src="/path/to/script.js"></script>
Здесь /path/to/script.js – это абсолютный путь до скрипта от корня сайта. Также можно указать относительный путь от текущей страницы. Например, src="script.js" будет означать, что файл "script.js" находится в текущей папке.
Можно указать и полный URL-адрес. Например:
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script>
Для подключения нескольких скриптов используется несколько тегов:
<script src="/js/script1.js"></script>
<script src="/js/script2.js"></script>
…
Это пример статьи для сайта, как видно здесь есть и html, js и обычный текст. Если открыть режим "Источник", то видно, что код модифицируется:
<p>Программы на JavaScript могут быть вставлены в любое место HTML-документа с помощью тега <script>.</p>
<p>Для примера:</p>
<p><!DOCTYPE HTML></p>
<p><html></p>
<p> </p>
<p><body></p>
<p> </p>
<p> <p>Перед скриптом...</p></p>
<p> </p>
<p> <script></p>
<p> alert( 'Привет, мир!' );</p>
<p> </script></p>
<p> </p>
<p> <p>...После скрипта.</p></p>
<p> </p>
<p></body></p>
<p> </p>
<p></html></p>
<p> </p>
<p>Тег <script> содержит JavaScript-код, который автоматически выполнится, когда браузер его обработает.</p>
<h2>Внешние скрипты</h2>
<p>Файл скрипта можно подключить к HTML с помощью атрибута <code>src</code>:</p>
<p><script src="/path/to/script.js"></script></p>
<p> </p>
<p>Здесь /path/to/script.js – это абсолютный путь до скрипта от корня сайта. Также можно указать относительный путь от текущей страницы. Например, src="script.js" будет означать, что файл "script.js" находится в текущей папке.</p>
<p>Можно указать и полный URL-адрес. Например:</p>
<p><script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script></p>
<p> </p>
<p>Для подключения нескольких скриптов используется несколько тегов:</p>
<p><script src="/js/script1.js"></script></p>
<p><script src="/js/script2.js"></script></p>
<p>…</p>
При этом все отображается нормально. После загрузки в базу данных и просмотр статьи, которая уже извлекается из базы данных, тоже все нормально.
Проблемы возникают когда этот же текст загружается между тегами <textarea>. Часть символов при этом пропадает. Снизу код в режиме "Источник", который выдает CKEditor:
<p>Программы на JavaScript могут быть вставлены в любое место HTML-документа с помощью тега</p>
<p> </p>
<p> </p>
<p>...После скрипта.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>Тег</p>
<p> </p>
<p>Здесь /path/to/script.js – это абсолютный путь до скрипта от корня сайта. Также можно указать относительный путь от текущей страницы. Например, src="script.js" будет означать, что файл "script.js" находится в текущей папке.</p>
<p>Можно указать и полный URL-адрес. Например:</p>
<p> </p>
<p> </p>
<p>Для подключения нескольких скриптов используется несколько тегов:</p>
<p> </p>
<p> </p>
<p>…</p>
Вроде бы даже прослеживается какая-то закономерность, но не могу понять как настроить, чтобы исходный текст не редактировался CKEditor.
То есть если кратко: я ввожу текст в CKEditor он его как-то изменяет, видимо в более удобную форму. Если этот текст в более удобной форме внести снова в CKEditor, то некоторые символы из него убираются. Причем в базе данных и другими скриптами, текст ни как не модифицируется.