ホームページ  >  記事  >  バックエンド開発  >  PHPでサブドメインからルートドメインを抽出するにはどうすればよいですか?

PHPでサブドメインからルートドメインを抽出するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-22 08:13:30175ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。