用 preg_replace 剥离 url

Stripping url with preg_replace

我需要去掉

http://www. 

来自域名及其后的任何内容,例如

/example 

这样我就只剩下 yourdomain.com

我将以下代码添加到文件中:

$domain = HTTP_SERVER;
$domain_name = preg_replace('/^https?:\/\/(?:www\.)?/i', '', $domain);

但是如果我回显 $domain_name 我仍然得到一个 url 比如你的域。com/testsite

任何人都可以看到我在这里做错了什么,因为它没有删除 /testsite,我认为我做对了。

使用这个

$url = 'http://www.example.co.uk/directory/level1/last/page.html'; 
$parse= parse_url($url); 
preg_match ("/\.([^\/]+)/", $parse['host'], $mydomain); 
echo $mydomain[1]; 

这可能是有人不同意的 hack,但我使用以下代码解决了这个问题。

$url = HTTP_SERVER;
$parse = parse_url($url);
$domain = $parse['host'];
$domain_name = preg_replace('/(?:www\.)?/i', '', $domain);
echo $domain_name;

如果您知道不应该使用它的原因,请随时告诉我。总是有新东西要学:)