PHPでURLからドメイン名を取得する方法


  1. parse_url() 関数を使用する方法:

    $url = "https://www.example.com/path/page.php";
    $domain = parse_url($url, PHP_URL_HOST);
    echo $domain; // 出力: www.example.com

    この方法では、parse_url() 関数を使用してURLを解析し、PHP_URL_HOST の定数を指定することで、ホスト名(ドメイン名)を取得します。

  2. preg_match() 関数と正規表現を使用する方法:

    $url = "https://www.example.com/path/page.php";
    preg_match("/^(?:https?:\/\/)?([^\/]+)/i", $url, $matches);
    $domain = $matches[1];
    echo $domain; // 出力: www.example.com

    この方法では、正規表現を使用してURLからドメイン名を抽出します。preg_match() 関数を使用し、URLの先頭部分にマッチする正規表現パターンを指定します。

  3. parse_url() 関数と explode() 関数を組み合わせる方法:

    $url = "https://www.example.com/path/page.php";
    $parts = explode(".", parse_url($url, PHP_URL_HOST));
    $domain = $parts[count($parts)-2] . "." . $parts[count($parts)-1];
    echo $domain; // 出力: example.com

    この方法では、parse_url() 関数を使用してURLを解析し、explode() 関数を使用してドメイン名をドットで分割します。最後の2つの要素を連結してドメイン名を作成します。

これらはいくつかの一般的な方法ですが、URLの形式や要件によって他の方法もあります。適切な方法を選択して使用してください。