我有这个代码:
$url = preg_replace("/^(http:\/\/)*(www.)*/is", "", $url);
$url = preg_replace("/\/.*$/is" , "" ,$url);
在 .com 之后是 / 的位置获取域名效果很好。如果有这样的网址,我会遇到问题:
http://www.something.com?id=21213
我需要在正则表达式中添加什么来剪切 ?id=21213 所以只剩下 something.com
我有这个代码:
$url = preg_replace("/^(http:\/\/)*(www.)*/is", "", $url);
$url = preg_replace("/\/.*$/is" , "" ,$url);
在 .com 之后是 / 的位置获取域名效果很好。如果有这样的网址,我会遇到问题:
http://www.something.com?id=21213
我需要在正则表达式中添加什么来剪切 ?id=21213 所以只剩下 something.com
看看神奇的内置功能parse_url()
。
使用parse_url()
,您可以仅通过以下方式检索域名:
$domain = parse_url($url, PHP_URL_HOST);
if(0 === strpos('www.', $domain)){
$domain = substr($domain, 4);
}