(PHP 4, PHP 5)
parse_url — URL を解釈し、その構成要素を返す
この関数は、URL の様々な構成要素のうち特定できるものに関して 連想配列にして返します。
この関数は、指定された URL が有効かどうかを調べるためのもの ではなく、単に URL を上で示した 要素に分解するだけのものです。不完全な URL であっても受け入れられますし、 そのような場合でも parse_url() は可能な限り 正しく解析しようとします。
パースする URL。無効な文字は _ に置換されます。
PHP_URL_SCHEME、 PHP_URL_HOST、PHP_URL_PORT、 PHP_URL_USER、PHP_URL_PASS、 PHP_URL_PATH、PHP_URL_QUERY あるいは PHP_URL_FRAGMENT のうちのいずれかを指定し、 特定の URL コンポーネントのみを文字列 (PHP_URL_PORT を指定した場合だけは整数値) で取得するようにします。
完全におかしな形式の URL については、parse_url() は FALSE を返します。
component を省略した場合は、連想配列を返します。 連想配列の中には少なくともひとつの要素が含まれます。 この配列に含まれる可能性のある要素は次のとおりです。
component が指定されている場合、 parse_url() は配列ではなく文字列 (PHP_URL_PORT の場合は整数値) を返します。 要求したコンポーネントが指定した URL の中にない場合は NULL を返します。
バージョン | 説明 |
---|---|
5.3.3 | URL のパースに失敗したときに E_WARNING を発生させないようになりました。 |
5.1.2 | パラメータ component が追加されました。 |
例1 parse_url() の例
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
?>
上の例の出力は以下となります。
Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )
注意:
この関数は相対 URL では動作しません。
注意:
parse_url() は URL をパースするための関数であり、 URI をパースするものではありません。しかし、PHP の後方互換性を満たすため、 例外として file:// スキームについては 3 重スラッシュ(file:///...) が認められています。他のスキームにおいては、これは無効な形式となります。