Здравствуйте.Написал код для вставки смайлов при вызове строки из хранилища.Но если в тексте несколько смайлов, то они дублируются.Если два, то 2+2, если три, то 3+3+3 и т.д. Подскажите где поправить.
var sm = new Array();
var sm = []
sm[0] = ':smile:';
sm[1] = ':crazy:';
sm[2] = ':angel:';
var match_smile = /:(.*?):/gi;
var result = (a.mess).match(match_smile); //a.mess - строка
for(var i=0; i<result.length; i++) {
result[i] = result[i].replace(match_smile,'<img src="/images/smilies/$1.gif" />');
}
if(result){
a.mess = a.mess.replace(match_smile,result);
}
var bbcode = bbcodeParser.bbcodeToHtml(a.mess) // Парсер кода
$(get_mes).empty().append(bbcode); // выводим строку в блоке
Понимаю, что надо или условие как то по другому или параметр какой то при замене, но не могу додумать.