如何使用PHP从URL获取基本域名?
发布时间:2020-12-13 14:04:34 所属栏目:PHP教程 来源:网络整理
导读:我需要从URL获取域名.以下示例应该返回google.com: google.comimages.google.comnew.images.google.comwww.google.com 以下URL也应该返回google.co.uk. google.co.ukimages.google.co.uknew.images.google.co.ukhttp://www.google.co.uk 我犹豫使用正则表达
我需要从URL获取域名.以下示例应该返回google.com:
google.com images.google.com new.images.google.com www.google.com 以下URL也应该返回google.co.uk. google.co.uk images.google.co.uk new.images.google.co.uk http://www.google.co.uk 我犹豫使用正则表达式,因为像domain.com/google.com可能会返回不正确的结果. 如何使用PHP获得顶级域名?这需要在所有平台和主机上工作.
你可以这样做:
$urlData = parse_url($url); $host = $urlData['host']; **更新** 我可以想到的最好的方法是对所有要处理的TLD进行映射,因为某些TLD可能很棘手(co.uk). // you can add more to it if you want $urlMap = array('com','co.uk'); $host = ""; $url = "http://www.google.co.uk"; $urlData = parse_url($url); $hostData = explode('.',$urlData['host']); $hostData = array_reverse($hostData); if(array_search($hostData[1] . '.' . $hostData[0],$urlMap) !== FALSE) { $host = $hostData[2] . '.' . $hostData[1] . '.' . $hostData[0]; } elseif(array_search($hostData[0],$urlMap) !== FALSE) { $host = $hostData[1] . '.' . $hostData[0]; } echo $host; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |