Показать сообщение отдельно
  #1 (permalink)  
Старый 20.10.2009, 01:16
Аватар для Verst
Новичок на форуме
Отправить личное сообщение для Verst Посмотреть профиль Найти все сообщения от Verst
 
Регистрация: 20.10.2009
Сообщений: 2

Текстовые ссылки в гиперссылки
Доброго времени суток.
Пишу скрипт для 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 Читал этот топик, но решения не смог найти и после двух дней поисков решил обратиться к спецам.

Спасибо за внимание.
Ответить с цитированием