Показать сообщение отдельно
  #75 (permalink)  
Старый 05.12.2011, 00:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Gozar,
Хоть покажешь полный результат? Когда закончишь делать полноценный фильтр ссылок. А насчет то ссыли, можно добавить что бы он не хватал локальные ссылки, тоесть без домена первого уровня. Это примерно так:

var a = [ 
    'Привет, на вот зацени ссылку: "http://test.ru/blablablah.html?test=param&qwerty#anchor." это крутая ссыль =) и вот еще www.google.ru, www.tarampampam.com!!! и вот еще файлик на ФТП ftp://tarampampam.ru/file.zip.', 
  
    'http://translate.google.ru/?js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&sl=en&tl=ru&text=Possibly+another+solution+would+be+to+have+the+description+text+hidden+by+default+and+only+shows+when+the+title+is+focused%2Fhovered+over.%0D%0A%0D%0A+Here%27s+an+example%3A+http%3A%2F%2Fwww.1true.co.uk%2Ffastscroll.html&file=#en|ru|blah', 
  
    'http://президент.рф/документы', 
  
    '"http://testdomen/blabla/" - не заматчило - это by design?', 
  
    'Крутая:http://javascript.ru/forum/project/23691-poisk-ssylok-na-stranice-5.html-ссылка', 
  
    'http://дердымцопцоп,.ru/', 
  
    'http://votrube.ru/uploads/posts/2011-12/1322827006_-(www.votrube.ru)2.jpg', 
  
    'http://yandex.ru-хорошая ссылка'
]; 
  
for( var b, i = 0; i < a.length; i++ ) { 
b = a[i].match( /(?:(http(?:s)?|ftp)(:\/\/)|(www(?:[0-9]+)?\.))([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+)\.((?:([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+)\/[^\s]+(?!\s|$)[^`~!@#$%^&*()_+|=\\{}\[\];:'"<,.>\-?\s]+)|([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+))/ig ); 
  
alert(b); 
}
Ответить с цитированием