Доброго времени суток.
Пишу скрипт для IE7Pro (аналог greasemonkey). Есть браузерная игра, в ней чат. Хочется что бы ссылки которые кидаются в чат, становились кликабельными. Весь код почти написал, но возникла проблема с регулярными выражениями, для обнаружения ссылок в тексте.
setInterval(ppp, 3000)
var rr;
function ppp(){
var frames = window.frames;
elm = frames[3].document.frames[0].document.getElementById("hint3");
if(rr != elm.innerHTML){
uuu = elm.outerHTML;
elm.innerHTML=mmm(uuu);
rr = elm.innerHTML;
}
}
function mmm(text){
var s="";
var spl=text.split("<BR>");
for (var k=0; k<spl.length; k++){
var txt=spl[k];
s+=txt.replace(/(http\:\/\/имя_сайта.org)+(.*\s)$/g, '<a href="$1$2" target="_blank">$1$2</a>');
}
s+='<BR>';
}
return s;
}
Скорее всего код кривой (только начинаю изучать JS), но он работает
И так суть проблемы: при отправке сообщения в чат в виде ссылки с добавлением в конец строки пробела, скрипт срабатывает и отображает ссылку в чате. Но если не поставить пробел в чат выводится ссылка с добавлением тега </span>. Собственно сам вопрос, как правильно составить регулярное выражение что бы не включался этот тег.
P.S. может кто сможет еще подсказать регулярное выражение, что бы в тексте находился не только конкретный сайт но любой другой, НО в чате есть смайлы и если в чат отправить ссылку на игру, то смайл отображаться перестанет из-за изменения адреса.
P.S.S Читал
этот топик, но решения не смог найти
и после двух дней поисков решил обратиться к спецам.
Спасибо за внимание.