Используя ваши подсказки сделал так .
('body').on('input', '.textarea', function() {
var msg = $(this).html();
//Ищи Img и меняю если это смайл
var a = msg.replace(/<img[^>]+>/g, function(i) {
var tag = i.match(/src="([^"]+)"/)[1];
if (tag == 'http://domen.ru/smiles/1.png') return ':)' ;
if (tag == 'http://domen.ru/smiles/2.png') return ':(' ;
......
else return '' ;
});
//Потом удаляю все теги
var b = a.replace(/<[^>]*?>/g , '');
//Обратно меняю символы на img через функцию
var d = vozvratIMG(b);
// И вывожу
$(this).html(d);
});
Насколько это правильно и годно не знаю но работает. Как вы думаете ?
Проблема в данный момент с кареткой которая после каждого обновления $(this).html(d); становится в конец что приводит к проблеме если нудно изменить текст где то по середине.
Подскажите как мне это решить ?