我知道網上有很多關於這個主題的信息,但是我似乎無法想象我想要的方式。來自url的PHP Strip域名
我試圖建立從一個url條域名的功能:只需要在域的原名
http://blabla.com blabla
www.blabla.net blabla
http://www.blabla.eu blabla
。
隨着parse_url我得到了過濾域,但這還不夠。 我有3個功能是高新區域,但我仍然得到了一些錯誤的輸出
function prepare_array($domains)
{
$prep_domains = explode("\n", str_replace("\r", "", $domains));
$domain_array = array_map('trim', $prep_domains);
return $domain_array;
}
function test($domain)
{
$domain = explode(".", $domain);
return $domain[1];
}
function strip($url)
{
$url = trim($url);
$url = preg_replace("/^(http:\/\/)*(www.)*/is", "", $url);
$url = preg_replace("/\/.*$/is" , "" ,$url);
return $url;
}
每一個可能的域,URL和擴展名是允許的。函數完成後,它必須返回一個只包含域名本身的數組。
更新: 感謝您的所有建議!
我在大家的幫助下計算出來的。
function test($url)
{
// Check if the url begins with http:// www. or both
// If so, replace it
if (preg_match("/^(http:\/\/|www.)/i", $url))
{
$domain = preg_replace("/^(http:\/\/)*(www.)*/is", "", $url);
}
else
{
$domain = $url;
}
// Now all thats left is the domain and the extension
// Only return the needed first part without the extension
$domain = explode(".", $domain);
return $domain[0];
}
嘗試使用'parse_url'功能來做到這一點。 http://php.net/manual/function.parse-url.php – ChoiZ
子域名呢? –