PHP を使用してドメイン名を検証する必要があります。
次の形式のみを許可する必要があります: google.com
、subdomain.stack-overflow.org
など
- (特殊文字の場合) のみを許可する必要があります。
その他の形式は許可されません。例: http, https,?,/index.php,www.
etc (これらのいずれも許可されません)。
また、許可したくない: 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'];
}