如何使用PHP从URL获取基本域名?

前端之家收集整理的这篇文章主要介绍了如何使用PHP从URL获取基本域名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从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获得顶级域名?这需要在所有平台和主机上工作.

@H_403_14@ 你可以这样做:
$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;
原文链接:https://www.f2er.com/php/139761.html

猜你在找的PHP相关文章