如何在 PHP 中从子域中提取根域?

Barbara Streisand
发布: 2024-10-22 08:13:30
原创
166 人浏览过

How to Extract Root Domain from Subdomains in PHP?

PHP:从子域中提取根域

使用域名时,通常需要将根域与子域分开。考虑一个包含各种域结构的变量:

here.example.com
example.com
example.org
here.example.org
登录后复制

我们的任务是创建一个函数,将所有这些变体转换为其相应的根域,例如“example.com”或“example.org”。方法如下:

使用正则表达式的解决方案

<code class="php">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;
}</code>
登录后复制

说明:

  • parse_url() 将 URL 分解为各个组成部分,包括域名。
  • 正则表达式使用捕获组 ((?P...))) 仅提取根域。
  • 该模式确保域名由以下部分组成:

    • 字母数字字符或连字符
    • 子域名的最大长度为 63 个字符
    • 2-6 个字符扩展名 (TLD),以点分隔

用法示例:

<code class="php">echo get_domain("http://somedomain.co.uk"); // Outputs 'somedomain.co.uk'</code>
登录后复制

以上是如何在 PHP 中从子域中提取根域?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!