Як працює CKEditor з буфером обміну
Коли ми пишемо текст у програмах і змінюємо його вигляд тоді самим програмах крім самих символів тексту потрібно зберігати і параметри того як саме відображається даний текст. Наприклад для червоного тексту потрібно записати його колір.
При копіюванні через Ctr+С ми можемо копіювати не тільки самі символи тексту, а й і його параметри.
Щоб перевірити можна спробувати просто скопіювати текст з Word і вставити у браузері на даній сторінці.
І зможете побачити інформацію котру скопіювали в різних форматах.
Це не усі формати тієї інформації що ви скопіювали, а тільки ті котрі підтримує ваш браузер.
Там є також і html формат. Ось його і отримує CKEditor коли вставляти текст у нього. Якщо коротко то можна скопіювати червоний текст з Word у CKEditor і він буде в CKEditor також червоним. Тому що і Word і браузер у котрому працює CKEditor підтримують формат тексту html в котрому і зберігається додаткова інформація як відображати текст.
Але інколи хочеться копіювати з Word тільки текст, без кольору та інших параметрів відображення. Для цього CKEditor має можливість змінювати текст в момент вставки йогов редактор.
Детальніше тут
Тобто як видно в момент в вставки можна змінювати як і сам текст так і його параметри відображення. Тобто наприклад колір, шрифт і тому подібні речі.
У Drupal 8 є можливість створити фільтер для того щоб при вставці тексту в редактор видалити зайві елементи. Наприклад нам потрібно видаляти швифт тексту котрий вставляється з Word.
Скопіювавши текст з Word і вставиши у лінку вказану вище можна побачити наприклад ось такий контент
<font face="Calibri, serif">
<font size="3" style="font-size: 12pt">Lorganisation</font>
</font>
Звідси уже зрозуміло що було б добре видаляти тег <font face> при вставці.
Для цього можна написати фільтер.
Ось таким рядком
$restrictions['forbidden_tags'][] = 'font face';
Вказуємо що даний тег є забороненим і його видаляти. І готово. Тепер такий контент
<font face="Calibri, serif">
<font size="3" style="font-size: 12pt">Lorganisation</font>
</font>
Буде вставлятись як
<font size="3" style="font-size: 12pt">Lorganisation</font>
Уже без шрифту.