Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2011, 16:17   #1
m_hamlet
 
Регистрация: 10.01.2011
Сообщений: 7
По умолчанию Национальный домен и подлинность URL адреса

Здравствуйте.
У меня возникла вот такая проблема:должен проверить средствами PHP подлинный ли URL адрес. Стал это делать с помощью функции filter_var, но он, например, адрес http://google.com считает подлинной, а адрес http://пример.рф и все национальные домены - нет. Решил использовать регулярные выражения, хотя я в них не очень.
Я начал гуглить, и нашел подходящее регулярное выражение. Переделал, чтобы он так же понимал национальные домены. Но не получилось
Вот результат:
PHP код:
if(preg_match("~^(?:(?:https?)://(?:[a-z0-9_-]{1,32}".
   
"(?::[a-zа-я0-9_-]{1,32})?@)?)?(?:(?:[a-zа-я0-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)){
    echo 
"True";
}
else {
    echo 
"False";
}

/*

$url = "http://example.com" - True
$url = "http://primer.рф" - True
$url = "http://пример.рф" - False

*/ 
m_hamlet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Припарковать домен gufon Свободное общение 4 28.12.2010 06:22
Что значит национальный проект? Utkin Свободное общение 5 23.12.2010 17:32
Домен .РФ Revival001 Свободное общение 16 11.11.2010 22:33
Национальный алфавит Bagirli Общие вопросы Delphi 5 30.03.2008 01:44