05.12.2011, 02:43
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,584
|
|
Сообщение от trikadin
|
replace(/<\/?\S*?>/g)
|
На произвольной странице. Без сброса обработчиков, перезаписи уже имеющихся ссылок и прочих радикальных решений.
Почитай тему.
__________________
29375, 35
|
|
05.12.2011, 02:45
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Aetae, я её оч внимательно читал всё это время))
Просто какое предложение - такой и ответ))
|
|
05.12.2011, 10:13
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
вот все, точно последняя... Оптимизированная версия, удалил из реги часть ненужных правил... Проснулся поглядел на свою работу, и понял что отдыхать нужно точно =))) Много лишнего было напичкано, удалил все лишнее и рега стала немного короче...
var a = [
'Привет, на вот зацени ссылку: "http://test.ru/blablablah.html?test=param&qwerty#anchor." это крутая ссыль =) и вот еще [url]www.google.ru[/url], [url]www.tarampampam.com[/url]!!! и вот еще файлик на ФТП 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-хорошая ссылка',
'ftp://username:password@domen/blah/', // не корректная нет верхнего домена
'ftp://username:password@domen.ru/blah/ ghj',
'ftp://password@domen.ru/blah/', // допустимая ссылка
'ftp://username:@domen.ru/blah/', // допустимая ссылка
'ftp://username:domen.ru/blah/', // не корректная ссылка
'ftp://username@:domen.ru/blah/', // не корректная ссылка
'http://blah.ru:8089',
'http://blah.ru:8080/lalalala/',
'ftp://username:password@domen.ru:3131/blah/',
'username:password@domen.ru:3131/blah/.',
'username:password@domen.ru:/blah/.'
];
for( var b, i = 0; i < a.length; i++ ) {
b = a[i].match( /(?:(http(?:s)?|ftp)(:\/\/)(?:[^:]+(?::)?[^@]+@)?|(?:[^:]+(?::)?[^@]+@)?(www(?:[0-9]+)?\.))([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+)\.([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+)(?::[0-9]+)?(?:\/[^\s]+(?!\s|$)[^`~!@#$%^&*()_+|=\\{}\[\];:'"<,.>\-?\s]+)?/ig );
alert(b);
}
Все, думаю с меня хватит. что-то я совсем отвлекся не на то =)))
Посмотрим что получиться у Gozar.
Последний раз редактировалось devote, 05.12.2011 в 10:16.
|
|
05.12.2011, 14:44
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Результат такой:
var a = [
'карту[url]http://maps.google.ru/maps/place?q=59.944215,30.307012[/url], блатест Привет, на вот зацени ссылку: "http://test.ru/blablablah.html?test=param&qwerty#anchor." это крутая ссыль =) и вот еще [url]www.google.ru[/url]s,',
'Привет, на вот зацени ссылку: "http://test.ru/blablablah.html?test=param&qwerty#anchor." это крутая ссыль =) и вот еще [url]www.google.ru[/url], [url]www.tarampampam.com[/url]!!! и вот еще файлик на ФТП 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-хорошая ссылка',
'http://blah.ru:8089',
'http://blah.ru:8080/lalalala/'
];
for( var b, i = 0; i < a.length; i++ ) {
b = a[i].match(/(?:(?:((http(s)?:\/\/)|(www\.))([-.a-z0-9а-яё]+)?\.[a-zрф]{2,5}(:[0-9]+)?)(?:\/[-\wа-яё.,!?&#$@/:;+=%|^)(*'"><}{\\`~]+[^.,!?\s\["])?)/ig)
alert(b);
}
Рега более узко заточена - под русский и английский, не ищет ftp. Т.к. рега для моих нужд, то ftp мне не нужно, кому нужно добавите как у devote или пользуйтесь его регой, если он не против . По позже протестирую на скорость. Будет не лень, отпишусь.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
05.12.2011, 14:50
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Aetae,
Рега нужна для форума, поэтому на подобную вещь можно забить большой пребольшой болт.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
05.12.2011, 15:30
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Gozar
|
кому нужно добавите как у devote или пользуйтесь его регой, если он не против
|
Неа, нисколько не против... Смысл мне было сюда это дело писать что бы потом орать что мол моя рега и никому не пользоваться Пользуйтесь на здоровье, при желании можно ее еще уменьшить/расширить. Скорость проверять не буду, лень если честно.
|
|
|
|