如何删除 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
}
答案 0 :(得分:4)
首先,手动删除www。然后确保它的形式为domain.tld或something.domain.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
答案 1 :(得分:1)
查看http://framework.zend.com/apidoc/core/Zend_Validate/Zend_Validate_Hostname.html(Zend_Validate_Hostname
)课程。我认为您可以在Zend Framework之外使用它,只需稍作调整即可。
答案 2 :(得分:0)
$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.";
}
答案 3 :(得分:0)
试试这个:
if (!preg_match('/^[a-zA-Z]+[a-zA-Z0-9-]+[a-zA-Z0-9]+$/', $subdomain) || substr_count($subdomain,'--') >= 1) {
echo "Invalid Subdomain";
}
else{
echo Valid Subdomain;
}