【问题标题】:How to find subdomain from a url如何从 url 中找到子域
【发布时间】:2011-06-20 12:00:12
【问题描述】:

URL = @987654321@

我如何通过 PHP 从中找到子域

这样$subdomain = 'company'

还有$url = '/pages/users/add/'

【问题讨论】:

  • 即使您完全不知道 PHP 具有解析 URL 的功能,也不愿意在 PHP 手册中找到它,您应该知道几乎每种编程语言都有搜索字符的方法字符串并获取字符串的子字符串,这就是解析 URL 所需的全部内容。

标签: php .htaccess


【解决方案1】:

你会想看看 PHP 的parse_url。这将为您提供 URL 的基本组成部分,从而更容易解析出您的其余要求(子域)

$url        = 'http://company.website.com/pages/users/add/';
$url_parsed = parse_url($url);
$path       = $url_parsed['path']; // "pages/users/add/"

然后是一个简单的正则表达式* 来解析 $url_parsed['host'] 的子域:

$subdomain = preg_match("/(?:(.+)\.)?[^\.]+\.[^\.]+/i", $url_parsed['host'); 
// yields array("company.website.com", "company")

* 我在 JavaScript 中测试了正则表达式,所以你可能需要稍微调整一下。

【讨论】:

    【解决方案2】:

    或避免使用正则表达式:

    $sections = explode('.', $url_parsed["host"]);
    $subdomain = $sections[0];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 2017-08-28
      • 2014-05-13
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多