【PHP】URLの構成要素を返すparse_url関数を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事では、 PHPで指定された文字列からURLの構成要素を返すparse_url関数について

  • parse_url関数とは
  • parse_url関数を使ったサンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
PHPのバージョン 8.0.3
XAMPPのバージョン 8.0.3

PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。

parse_url関数とは

parse_url関数とは、引数に指定された文字列をURLとし、URLの構成要素ごとに分解して返す関数です。
引数は以下のように指定します。

第一引数(必須) 文字列
第二引数(任意) 取得したいURLの構成要素

第一引数に指定する文字列は、基本URLとしてできる限り解析し結果を返します。
ただし、デタラメなURLだった場合falseを返します。

上記以外でparse_url関数は

  • 第一引数のみ指定した場合
  • 第二引数も指定した場合

と返すものが異なります。
それぞれを詳しく解説します。

第一引数のみ指定した場合

第一引数のみ指定した場合は、URLの構成を要素とした連想配列が返されます。

使い方サンプルは下記になります。


上記の例だと、resultには以下の内容の連想配列が返されます。

連想配列に含まれる可能性のある要素は以下になります。

キー 意味
scheme スキーマ
host ホスト
port ポート番号
user ユーザー名
pass パスワード
path パス
query クエリ
fragment フラグメント

第二引数も指定した場合

第二引数も指定した場合は、第二引数で指定した構成要素の文字列が返されます。
第二引数に指定できるものと意味は以下になります。

指定できる要素 意味
PHP_URL_SCHEME スキーマ
PHP_URL_HOST ホスト
PHP_URL_PORT ポート番号
PHP_URL_USER ユーザー名
PHP_URL_PASS パスワード
PHP_URL_PATH パス
PHP_URL_QUERY クエリ
PHP_URL_FRAGMENT フラグメント

使い方サンプルは下記になります。


上記の例だと、resultには「https」という文字列が返されます。

では、次の章で実際に使ってみます。

parse_url関数を解説するプログラムの概要

parse_url関数を解説するプログラムでは、

  • デタラメなURLを指定した場合
  • 第一引数のみ指定した場合
  • 第二引数も指定した場合

と3パターンでparse_url関数を使います。
返された値がどうなっているのかを表示させ確認します。

phpプログラムは

C:\xampp\htdocs

配下に、【parse_url_sample.php】というファイル名で格納しています。

PHPサンプルプログラム

実行結果

XAMPPを起動して、【http://localhost/parse_url_sample.php】のURLにアクセスします。

XAMPPでPHPの動かし方については、こちらの記事をご参考ください。

指定した引数の数通りにURLの構成要素が返されていることを確認できました!

まとめ:parse_url関数を使ってみよう!

以上がparse_url関数についての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました