Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.12.2011, 14:57
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от devote Посмотреть сообщение
вот ... мой:
var a = 'ссылка на карту google.ru.maps [url]http://maps.google.ru/maps/pre-fix/фыва[/url] бла тест'.
match( /((http(s)?:\/\/)|(www\.))([^\.]+)\.([^\s]+)/i );
alert(a[0]);
google.ru тоже ссылка без maps

Спасибо, добавил провеку на точку в конце:

var a='ссылка на карту google.ru.maps выф[url]http://maps.google.ru/maps/pre-fix/фыва[/url] бла тест'.match(/(http(s)?:\/\/)?(www\.)?([-.a-z0-9]+)\.(ru|com|net){1}((\/)+[-$_.,+=:;/?@&#%a-z0-9]+)?(\/|\b)/ig);
alert(a);
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 02.12.2011 в 14:59.
Ответить с цитированием
  #12 (permalink)  
Старый 02.12.2011, 15:15
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Твой вариант(найдена одна, ни одна из первых не найдена), также смотри на окончание
var a = 'ссылка на карту google.ru.maps maps.google.ru/maps/pre-fix/фыва бла тест ссылка на картуhttp://maps.google.ru/maps/place?q=59.944215,30.307012,блатест'.match( /((http(s)?:\/\/)|(www\.))([^\.]+)\.([^\s]+)/i );
alert(a);


Мой вариант(найдено три)
var a = 'ссылка на карту google.ru.maps maps.google.ru/maps/pre-fix/фыва бла тест ссылка на картуhttp://maps.google.ru/maps/place?q=59.944215,30.307012,блатест'.match(/(http(s)?:\/\/)?(www\.)?([-.a-z0-9]+)\.(ru|com|net){1}((\/)+[-$_.,+=:;/?@&#%a-z0-9]+)?(\/|\b)/ig);
alert(a);
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #13 (permalink)  
Старый 02.12.2011, 15:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну просто я не учитываю ссылки которые без http:// или без www. так как по сути это не может расцениваться ссылкой... хоть и по читабельности оно так и есть... нашел он то что реально писано ссылкой... и окончание у меня нормальное... тоесть русские символы так же имеют право быть внутри юрл.. тоесть у меня все в ссылке до пробела... единственное что нужно запретить это перед ссылкой если нет пробела, то не считать ее ссылкой.

тоесть так не найдет:
var a = 'ссылка на карту google.ru.maps maps.google.ru/maps/pre-fix/фыва бла тест ссылка на картуhttp://maps.google.ru/maps/place?q=59.944215,30.307012,блатест'.match( /(?:^|[\s]+)((http(s)?:\/\/)|(www\.))([^\.]+)\.([^\s]+)/i );
alert(a);

а так найдет:
var a = 'ссылка на карту google.ru.maps maps.google.ru/maps/pre-fix/фыва бла тест ссылка на карту http://maps.google.ru/maps/place?q=59.944215,30.307012,блатест'.match( /(?:^|[\s]+)((http(s)?:\/\/)|(www\.))([^\.]+)\.([^\s]+)/i );
alert(a);
Ответить с цитированием
  #14 (permalink)  
Старый 02.12.2011, 15:41
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от devote Посмотреть сообщение
единственное что нужно запретить
Запретить кому?

И почему должна быть запрещена ссылка вида
//'ссылка:http://ya.ru?'
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #15 (permalink)  
Старый 02.12.2011, 15:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Gozar
Запретить кому?
У меня в регулярке, сорри что не написал подробности... я в посте выше добавил в регу правило что бы перед ссылкой был либо пробел либо начало строки... Тоесть ссылка начинающая с "blahttp://" не может быть ссылкой, это показано в первом примере... а во втором стоит пробел перед ссылкой
Ответить с цитированием
  #16 (permalink)  
Старый 02.12.2011, 15:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Gozar
Запретить кому?

И почему должна быть запрещена ссылка вида//ссылка:http://ya.ru?
Хотя да, такие исключения могут быть, не спорю.
Ответить с цитированием
  #17 (permalink)  
Старый 02.12.2011, 15:44
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Видишь знак вопросика в конце ссылки?

У тебя также.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #18 (permalink)  
Старый 02.12.2011, 15:51
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Твой вариант:
var a = 'ссылка на карту бла тест ссылка на эта ссылка: [url]http://maps.google.ru/maps/place?q=59.944215,30.307012?[/url] ,блатест'.match( /(?:^|[\s]+)((http(s)?:\/\/)|(www\.))([^\.]+)\.([^\s]+)/i );alert(a);

Баг форума, у тебя на самом деле возвращает тот же урл, но в конце у него знак вопроса.

Мой вариант:
var a = 'ссылка на карту бла тест ссылка на эта ссылка: [url]http://maps.google.ru/maps/place?q=59.944215,30.307012?[/url] ,блатест'.match(/(http(s)?:\/\/)?(www\.)?([-.a-z0-9]+)\.(ru|com|net){1}((\/)+[-$_.,+=:;/?@&#%a-z0-9]+)?(\/|\b)/ig);alert(a);
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #19 (permalink)  
Старый 02.12.2011, 15:56
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а что плохого в том что знак вопроса попал в ссылку? как мне говорит PHP тык он не против иметь хоть двадцать вопросов в ссылке, в переменной $_SERVER['REQUEST_URI'] отобразить хоть сотню... так что я могу спокойно писать сайт с учетом подобных ссылок.
Ответить с цитированием
  #20 (permalink)  
Старый 02.12.2011, 15:56
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

зы: ты экранируешь точку в символьном классе:
[quote=devote;140366]
[^\.]

а зачем?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск текста на странице Azazaza jQuery 6 16.02.2013 00:47
Поиск на странице maza51 Общие вопросы Javascript 1 20.03.2011 12:26
Поиск на странице no_name jQuery 4 07.09.2010 13:26
Получить адреса всех ссылок на странице monya-or jQuery 6 13.05.2010 12:55
Загрузить title для ссылок на странице MarikVal jQuery 0 27.07.2009 20:38