CKEditor позволяет настроить его функциональность стилей.Например:
config.coreStyles_bold = { element : 'span', attributes : {'style': 'font-weight:bold'} };
При этом вы можете переопределить поведение браузера по умолчанию, которое может использовать нежелательные теги font
, а также семантические теги, такие как strong
или нахмурившиеся (но допустимые) теги стилякак b
.Он также допускает аналогичную конфигурацию для пользовательских стилей и любых атрибутов (например, class
), которые вы выберете.
Другой подход, если вы не найдете редактора, который имеет требуемый уровень очистки, будетбыть более строгим с клиентским редактором, обрабатывая ввод с помощью переводчика / дезинфицирующего средства белого списка * на сервере.
* Например, HTMLPurifier (PHP).Я использовал это вместе с CKEditor, и я вполне доволен.