Просмотр полной версии : Проверка URL на валидность
Подскажите чем проверить url на валидность,
пример урл
xxx.yyy.com
xx1.yyy.com
x1x.yyy.com
1xx.yyy.com
спасибо
Немножко доработать код http://wmas.msk.ru/archives/validate-url-php
Что понравится
http://regexlib.com/Search.aspx?k=url
pawguscko
27.12.2015, 22:57
Для проверки url советую (http://php.net/manual/en/function.filter-var.php) :
filter_var($url,FILTER_VALIDATE_URL)
В плане проверки русскоязычных доменов могу рекомендовать смотреть в сторону конвертации в IDN, т.е. к виду xn--af1bc.net тогда проблем с русским точно не будет. В стандартном наборе таких функций нет, только декодирование. Если есть возможность поставить соответствующий модуль PECL, то на мой взгляд это идеальное решение.
xusanokaz
06.01.2016, 21:39
заходишь на reg* и проверяешь списком
kosticun
10.01.2016, 23:55
В свое время тоже задавался этим вопросом, изучив кучу доков, написал вот такую регулярку, правда это C++ и boost, но сама регулярка может перебраться и на php
// Регулярка для выбора основных составных url
const boost::regex main_expression(
// PROTO HOST PORT
"^(\?[^:/\?#]+)://)\?(\\w+[^/\?#:]*)(\?:\\d+))\?"
// PATH FILE PARAMS
"(/\?(\?:[^\?#/]*/)*)\?([^\?#]*)\?(\\\?(.*))\?",
boost::regbase::normal | boost::regbase::icase);
pawguscko said:
↑ (https://antichat.live/posts/3933011/)
Для проверки url
советую (http://php.net/manual/en/function.filter-var.php)
:
filter_var($url,FILTER_VALIDATE_URL)
прикольно, не знал
можно вот таким режексом
Code:
REGEX_IPADDR = "((25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])"
REGEX_DOMAIN = "([a-zA-Z0-9_-]{1,61}\.)+[a-zA-Z]{2,4}"
REGEX_URL = "https?://(" + REGEX_IPADDR + "|" + REGEX_DOMAIN + ")"
Если вам надо проверить, существует ли указанный адрес или нет, то есть способ :
$url ='http://hashcode.ru';if(get_headers($url,1)){
echo 'Гуд';}
http://4seo.biz/tools/31/
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot