Фильтрация тегов на уровне плагина в CKEditor 5

Плагин DataFilter позволяет управлять фильтрацией HTML тегов. Он является «родным» для CKE плагином, так что ничего дополнительно устанавливать не нужно. Рассмотрим как им можно управлять на уровне кастомного плагина.

Допустим, вы хотите разрешить определенные классы для тега div — className1 и className2.

Сначала нужно убедиться, что DataFilter доступен, а потом использовать его для настройки фильтрации. В коде это будет выглядеть следующим образом:

Функция _addClassSupport разбирает имена классов, превращая их в регулярное выражение. Нам нужно сформировать пакет настроек соответствующий MatcherPattern структуре.

Условие classes позволяет пройти по всем классам html тега и проверить на соответствие регулярному выражению, которое мы составили на основе нашего набора классов.

MatcherPattern позволяет создать правила для любых атрибутов и стилей. Детали можно изучить в документации CKE5 API.

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

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

Апрель 5, 2025 г.

Делюсь еще одним лайфхаков, как в плагине CKE5 вставить htmlentity. При вставке текста в модель, CKEditor будет преобразовывать html символы вроде '&' и '>'. Но что делать, если нужно вставить символ в виде html кода? Рассмотрим следующий ...

Читать

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

Ноябрь 16, 2017 г.

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

Читать

Установить фокус ввода в CKE5

Март 23, 2025 г.

При написании плагина столкнулся с тем, что в момент нажатия кнопки в тулзах, редактор терял фокус ввода. Поведение верное, но пользователю не удобно - нужно курсор возвращать на место "вручную". Вернуть фокус можно так: [crayon-68f75c703c52c862876161/] ...

Читать

CKEditor5: удаление элемента при удалении в нем текста (элементов)

Февраль 3, 2025 г.

Пример работы в экосистеме CKE5. Реализуем в нашем плагине обработку изменения данных в модели редактора. При удалении всего текста в инлайновом элементе, удалим сам inline контейнер. Зацепку поместим в init секцию плагина. [crayon-68f75c703c69c490394469/] ...

Читать
 

Комментарии к «Фильтрация тегов на уровне плагина в CKEditor 5»

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



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