Имя: Пароль:
IT
 
Знатоки регулярных выражений - как проверить любой URL ?
0 Ковычки
 
22.05.13
13:19
Абсолютный и относительный, проверка только на правильность заполнения.
Регулярку надо и для perl и для grep.
1 PR
 
22.05.13
13:19
А в чем сложность?
2 drcrasher
 
22.05.13
13:20
(0) буковка "Я" => первая ссылка
не?
3 Ковычки
 
22.05.13
13:20
(2) нет
4 PR
 
22.05.13
13:20
+(1) А, пардон, ты же не про 1С.
5 Ковычки
 
22.05.13
13:23
(1)

http://www.yandex.ru
http://www.Яндекс.ru
httpX://www.Яндекс.ru
http:www.yandex.ru
www.yandex.ru
www.Яндекс.ru
Яндек вообще не сру.ru
/www.yandex.ru/
/www.yandex.ru/xxx/ppp
/www.yandex.ru?dsfsfd?=sdfsdf
www.yandex.ru?sdfsdwdf&x=dfg
x[куча пробелов и прочих нечитаемых]www.yandex.ru?sdfsdwdf&x=dfg
6 drcrasher
 
22.05.13
13:24
(3) а что не так?

if (!preg_match("~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}".
  "(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:com|net|".
  "org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?".
  "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&".
  "?+=\~/-]*)?(?:#[^ '\"&<>]*)?$~i",$url,$ok))
  return -1; // если не правильно - выход

собери в единую строку и скорми регэкспу
7 Ковычки
 
22.05.13
13:24
URL может быть и частью URI, может быть только окончание
8 Ковычки
 
22.05.13
13:25
(6)

что выдаст на topic.php?id=665873 ?
9 Ковычки
 
22.05.13
13:26
да и причем тут пыхыпы
10 Ковычки
 
22.05.13
13:27
вот это ?id=665873 тоже валидный url (если чо)

http://wwww.ya.ru/° - а это не валидный
11 drcrasher
 
22.05.13
13:34
смотрим в (0), видим: "как проверить любой URL".
ты не путай урл и ури

в (8) - полная шняга для браузера
в (6) регексп, который проверяет валидность урла, а не ури.
12 Ковычки
 
22.05.13
14:43
(11) это вы не путайте
никакая не шняга если задан базовый урл
13 Ковычки
 
22.05.13
14:47
урл это вхождение в ури, ури состоит из схемы, авторизации если есть, пути, запроса и фрагмента
урл может быть всем ури или любым набором частей исключая начальные (или не исключая)
14 Лефмихалыч
 
22.05.13
14:53
Выбирай. Тысячи их.
http://bit.ly/11aFFox
15 Ковычки
 
22.05.13
14:55
(14) а сабж прочитать ?
16 Лефмихалыч
 
22.05.13
14:56
(15) это скучно
17 sdv2000
 
22.05.13
14:57
ну конечно, играться с гуглом значительно веселее
и ума много не надо :)
18 IVIuXa
 
24.05.13
16:52
(0)
зачем?
мегапример в студию