Здравствуйте, у меня есть код, который весь текст урло подобный обромляет в тег <a>.
var mess = data['msgText'];
var reg = /((([A-Za-z]{3,9}):\/\/)*?([-;:&=\+\$,\w]+@{1})?(([-A-Za-z0-9]+\.)+[A-Za-z]{2,3})(:\d+)?((\/[-\+~%\.\w]+)?\/?([&?][-\+=&;%@\.\w]+)?(#[\w]+)?)?)/igm
pregMatch = mess.match(reg);
var regHttp = /http/igm;
for(var key in pregMatch){
var val = pregMatch[key];
if(regHttp.test(val) == true){
mess = mess.replace(val, '<a href="' + val + '>' + val + '</a>');
}else{
mess = mess.replace(val, '<a href="http://' + val + '>' + val + '</a>');
}
}
Проблема в том, что передавая в mess сообщение типа
"ya.ru, www.google.com" обрамляются в тег и отрабатывают нормально
НО
если в mess присутствует например две полностью одинаковых ссылки типа "www.google.com, www.google.com", то уже работает не корректно, т. к. он в первый заход делает правильно замену, во второй - опять же ещё раз первую позицию пытается заменить ...
Может быть есть какие-то очевидные варианты реализации ..
За любую помощь буду благодарен,
Спасибо.