我需要使用 PHP 验证域名。应该只允许这种
格式:google.com
等
它应该只允许 - (在特殊字符的情况下)subdomain.stack-overflow.org
不应允许其他格式,例如:http, https,?,/index.php,www.
等(不应允许任何其他格式)。
我也不想允许:localhost
,mydomain.com
我试过了:FILTER_VALIDATE_URL
但它接受http
等。
我也尝试过这样的正则表达式: [a-z0-9-]+(.[a-z0-9-]+)
但它允许 ex: stackoverflow
(没有.org
)。
我怎样才能做到这一点?
$urlparts = parse_url(filter_var($url, FILTER_SANITIZE_URL));
if(!isset($urlparts['host'])){
$urlparts['host'] = $urlparts['path'];
}