需要正则表达式来获取域+子域名

And*_*eas 2 regex subdomain dns

所以我在这里使用这个功能:

function get_domain($url)
{
  $pieces = parse_url($url);
  $domain = isset($pieces['host']) ? $pieces['host'] : '';
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
    return $regs['domain'];
  }
  return false;
}

$referer = get_domain($_SERVER['HTTP_REFERER']);
Run Code Online (Sandbox Code Playgroud)

而我需要的是另一个正则表达式,如果有人能够如此友好地提供帮助.正是我需要的是它获得整个域,包括子域.

让我们说现在是一个真正的问题.当人们博客链接来自示例:myblog.blogger.com referer url将只是blogger.com,这不是理想的..

因此,如果有人可以帮助我,所以我可以获得包含子域作为上述函数的正则表达式代码,id apreciate it很多!

谢谢!

Jar*_*und 10

此正则表达式应匹配字符串中的域,包括任何dubdomains:

/([a-z0-9|-]+\.)*[a-z0-9|-]+\.[a-z]+/
Run Code Online (Sandbox Code Playgroud)

翻译成粗糙的英语,它的功能如下:"匹配字符串的第一部分'sometextornumbers.sometext',还包括任意数量的'sometextornumbers'.可能先于它.

在这里看到它:http://regexr.com?2vppk

请注意,该链接中的多行和全局标志只能匹配测试文本的整个blob,因此如果您只将一行传递给正则表达式,则不需要