我將不勝感激任何可以與此事有關的幫助。PHP - 允許域名,而不是子域名
我正在創建一個註冊表單,其中一個字段是用於用戶域的,我將驗證其與FILTER_VALIDATE_URL
的有效性並且它存在於dns_check_record
。
但是我有一個問題是,使用這兩種方法也將允許子域提交到我不想形式。
有誰知道一種方法來允許域名,但不是子域名?
我已經測試了以下功能,從http://syntax.cwarn23.net/PHP/Strip_URL_to_Domain:
function domain($domainb)
{
$bits = explode('/', $domainb);
if ($bits[0]=='http:' || $bits[0]=='https:')
{
$domainb= $bits[2];
} else {
$domainb= $bits[0];
}
unset($bits);
$bits = explode('.', $domainb);
$idz=count($bits);
$idz-=3;
if (strlen($bits[($idz+2)])==2) {
$url=$bits[$idz].'.'.$bits[($idz+1)].'.'.$bits[($idz+2)];
} else if (strlen($bits[($idz+2)])==0) {
$url=$bits[($idz)].'.'.$bits[($idz+1)];
} else {
$url=$bits[($idz+1)].'.'.$bits[($idz+2)];
}
return $url;
然而,這並不是完美的,因爲任何領域,如www.domain.uk.com將顯示爲uk.com(我不知道一個普通的域擴展)。
有沒有人知道比上述功能更好的方法?
您必須明確檢查諸如'.co.uk','.com.br'等內容。 –
您使用* subdomain *這個詞相當鬆散。你想拒絕地址,如「john @ customers.example.com」? –
對不起,我的意思是想阻止任何這樣的事情。 – James