Как проверить правильное доменное имя и поддомен в php


Как удалить www и проверить действительное доменное имя.

Действительный Домен

domain.com
subdomain.domain.com
sub-domain.domain.com

Недопустимый Домен

www.domain.com
www.subdomain.domain.com
http://www.domain.com/
http://www.subdomain.com/
www.domain.com/folder/

Как код?

$domain ='www.domain.com/folder/';
if() {
// validate here
}
Author: wow, 2010-06-27

3 answers

Сначала вручную удалите www. затем просто убедитесь, что он находится в форме домен.tld или что-то в этом роде.домен.tld

$domain = str_replace('www.','',$domain);

if(preg_match('/([a-zA-Z0-9\-_]+\.)?[a-zA-Z0-9\-_]+\.[a-zA-Z]{2,5}/',$domain)) //valid domain

 4
Author: user377276, 2010-06-27 06:27:48

Взгляните на http://framework.zend.com/apidoc/core/Zend_Validate/Zend_Validate_Hostname.html (Zend_Validate_Hostname) класс. Я думаю, что вы можете использовать его за пределами Zend Framework, с небольшой настройкой.

 1
Author: yegor256, 2010-06-27 06:26:28
$url = "http://stackoverflow.com/";
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {
    echo "Your url is ok.";
} else {
    echo "Wrong url.";
}
 0
Author: , 2011-12-14 06:10:20