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'];
}