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

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

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

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

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

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

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

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

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

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

Wysiwyg для Drupal 7

Июнь 8, 2011 г.

Аналогичная статья у меня была для 6й версии. Особых проблем для семерки нет, но для тех, кому некогда думать, а надо "просто сделать", данное руководство. ...

Читать

Добавляем свои стили в CKEditor на Drupal

Ноябрь 16, 2017 г.

Задача не для программиста, а больше для системного администратора, т.к. речь пойдет о правильной настройке. Типично, CKeditor имеет компонент Форматирование ...

Читать

Снимаем обертки в модели CKE5

Март 25, 2025 г.

Продолжаю публиковать сниппеты, связанные с экосистемой CKEditor 5. Сегодня покажу как удалять контейнер с сохранением его содержимого. Api предоставляет функцию writer.unwrap(element). Но беда в том, что функция не заботится о валидности дочерних ...

Читать

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

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

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

Читать
 

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

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



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