Вставка html entites в текстовые ноды

Делюсь еще одним лайфхаков, как в плагине CKE5 вставить htmlentity.

При вставке текста в модель, CKEditor будет преобразовывать html символы вроде ‘&’ и ‘>’. Но что делать, если нужно вставить символ в виде html кода?

Рассмотрим следующий код, который реализует команды для модуля вставки символов, который мне нужно было разработать.

TextData поступает в функцию как параметр options.code. И обычно содержит код в html entity. Вроде ™ или 🔍.

Если я буду просто вставлять текст как:

То, символ ‘&’ будет преобразован в ‘&’ и в HTML мы не получим закодированного символа. Потому мы используем преобразование с помощью поля textarea.

Этот трюк позволяет достичь желаемого эффекта при вставке html entities без сложных манипуляция с моделью.

На самом деле в html код вставляется уже не htmlentity, а результат преобразования в UNICODE, потому это и работает.

Мало букафф? Читайте есчо !

Добавляем настройки к js плагину CKEditor 5 в Drupal

Март 19, 2024 г.

Когда вы настраиваете форматы текстов, то кроме добавления иконок в toolbar wysiwyg, вы можете видеть набор настроек для разных плагинов CKEditor. Посмотрим ...

Читать

CKE5 функция создания контейнера-обертки в модели

Март 20, 2025 г.

Делюсь примером кода, для создания обертки в модели экосистемы CKEditor 5. Здесь есть несколько нюансов. Во-первых, нужно проверить, являются ли оборачиваемые элементы валидными по отношению к обертке, в которую мы их помещаем. У CKE элементов ...

Читать

Подключаем suggestions list в диалог CKeditor - Link

Август 10, 2021 г.

Link - это штатный диалог, который используется в CKeditor для редактирования ссылок. И выглядит он как показано на картинке сверху. Он хорошо выполняет ...

Читать

Фильтруем нежелательные теги из WORD в CKEditor

Июль 1, 2018 г.

Хоть CKEditor и позволяет редактировать тексты, но редакторов сложно приучить готовить их сразу на сайте. Потому первая ревизия текста обычно появляется ...

Читать
 

Комментарии к «Вставка html entites в текстовые ноды»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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