Оба примера немного синтетические.
Сначала editor.getData () получает все содержимое редактора, поэтому, если вы хотите обрабатывать только вставленные данные, вам нужно получить ev.data.html и вставить в нужное место.
editor = CKEDITOR.instances.editor1;
editor.on('paste', function (evt) {
var editor = evt.editor;
evt.stop(); // we don't let editor to paste data, only for current event
// show loader that blocks editor changes
$.post('clean.php', {html: evt.data.html}, function (data) {
editor.insertHtml( data.html ); // text will be inserted at correct place
// hide loader
}, 'json');
});
Не используйте функции editor.setReadonly (true / false), вы не сможете вставить текст в правильном месте (в случаях с асинхронной обработкой данных).