【PHP8.x】parse_url関数の使い方
parse_url関数は、URL(Uniform Resource Locator)を構成要素に分解する関数です。この関数は、WebサイトのアドレスであるURLを解析し、その中に含まれる様々な部品を個別に識別することができます。具体的には、HTTPやHTTPSといった「スキーム」、Webサーバーの「ホスト名」、アクセス先の「ポート番号」、場合によっては「ユーザー名」や「パスワード」、Webページの場所を示す「パス」、検索条件などが含まれる「クエリ文字列」、ページ内の特定の位置を示す「フラグメント」といった要素に分解します。
解析に成功した場合、parse_url関数はこれらの要素をキーとする連想配列を返します。例えば、'scheme'や'host'、'path'などのキーでそれぞれの値にアクセスできます。ただし、URLに含まれていない要素は、返される配列には含まれません。
もし、指定されたURL文字列の形式が正しくない場合や、解析が何らかの理由で失敗した場合は、この関数はブール値のfalseを返します。このため、関数の戻り値をチェックすることで、URLの有効性を判断することも可能です。
Webアプリケーション開発において、ユーザーからの入力URLを検証したり、特定のドメイン部分だけを抽出して処理を行ったり、URLの各要素に基づいて異なる動作をさせたい場合などに、このparse_url関数は非常に有用なツールとなります。オプションの引数を使用することで、スキームのみなど、特定の要素だけを直接取得することもできます。
基本的な使い方
構文(syntax)
parse_url(string $url, int $component = PHP_URL_ALL): array|string|int|false
引数(parameters)
string $url, int $component = -1
- string $url: 解析するURLを指定する文字列
- int $component = -1: 解析するURLのどの部分を取得するかを指定する整数。省略時 (-1) は全ての要素を配列で返します。PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY, PHP_URL_FRAGMENT などの定数で指定できます。
戻り値(return)
array|string|int|false
URL文字列を解析し、その構成要素を配列、または指定された定数に応じた個別の値として返します。解析に失敗した場合はfalseを返します。