「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP でサブドメインからルートドメイン名を抽出するにはどうすればよいですか?

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

2024 年 11 月 25 日に公開
ブラウズ:339

How to Extract Root Domain Names from Subdomains in PHP?

PHP でのサブドメインからのドメイン名の抽出

PHP では、サブドメインからルート ドメイン名を取得するのが一般的なタスクです。次のような変数が発生するシナリオを考えてみましょう:

here.example.com
example.com
example.org
here.example.org

これらの値を、example.com や example.org などのルート ドメイン名に変換することを目的としています。これを実現するには、よく練られた関数が必要です。

ソリューション

次のスニペットは、ルート ドメイン名を効果的に抽出する get_domain() という関数を示しています。

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

この関数は、組み込みの parse_url() 関数を利用して URL を分解し、ホスト コンポーネントを取得します。その後、正規表現を使用してルート ドメイン名を検証および抽出し、一般的なドメイン命名規則に準拠していることを確認します。

目的の URL を指定して get_domain() を呼び出すことで、ルート ドメイン名を簡単に分離できます。 :

print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'

URL が許容可能なドメイン構造に準拠していない場合、関数は false を返すことでこれらのエッジ ケースを適切に処理します。

リリースステートメント この記事は次の場所に転載されています: 1729555699 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3