如何从网址中查找子网域

时间:2011-02-03 08:06:41

标签: php .htaccess

URL = http://company.website.com/pages/users/add/

如何通过PHP

找到子域名

这样$subdomain = 'company'

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

2 个答案:

答案 0 :(得分:5)

你想看看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中测试了正则表达式,因此您可能需要稍微调整一下。

答案 1 :(得分:1)

或者避免使用正则表达式:

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