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

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

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

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

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

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

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

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

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

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

Создание плагина CKEditor 5 в экосистеме Drupal 10

Февраль 8, 2024 г.

Drupal 10 добавил в ядро модуль wysiwyg CKEditor 5. Т.е. уже из "коробки" у вас есть редактор html кода. API CKEditor 4 и 5 версий значительно отличаются, ...

Читать

SpecialCharacters плагин в CKE5. Добавляем символы.

Апрель 11, 2025 г.

В CKEditor 5 есть родной плагин, который отображает список спец. символов для вставки в редактор. Он удобен и прост, проблема лишь в том, что он содержит ...

Читать

Подключение своих стилей для CKEditor 5 в Drupal

Февраль 20, 2024 г.

Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter. При создании своих модулей для CKE5/D10, я так же пользовался данной статьей из документации. Но проблема была в том, что тот модуль, ...

Читать

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

Июль 1, 2018 г.

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

Читать
 

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

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



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