Показать сообщение отдельно
  #1 (permalink)  
Старый 19.02.2016, 17:17
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Дублирование кода
Здравствуйте.Написал код для вставки смайлов при вызове строки из хранилища.Но если в тексте несколько смайлов, то они дублируются.Если два, то 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);   // выводим строку в блоке


Понимаю, что надо или условие как то по другому или параметр какой то при замене, но не могу додумать.
Ответить с цитированием