parse_urlURL を解釈し、その構成要素を返す 説明
intstringarraynullfalse parse_url(string
$url, int $component = -1)この関数は、URL の様々な構成要素のうち特定できるものに関して 連想配列にして返します。 連想配列に含まれる要素の値は、URLデコード されません。 この関数は、指定された URL が有効かどうかを調べるためのもの ではなく、単に URL を以下で示す 要素に分解するだけのものです。不完全、かつ不正な URL であっても受け入れますし、 そのような場合でも parse_url は可能な限り 正しく解析しようとします。 警告
この関数は相対 URL、
または不正な URL に対しては正しい結果を返さないかもしれません。
また、この関数の返す結果は、
HTTP クライアントの一般的な挙動とも異なるかもしれません。
信頼できない入力から得られる URL をパースする必要がある場合、
たとえば filter_var 関数を
パラメータ
戻り値
完全におかしな形式の URL については、parse_url は
http://example.com/foo → query = null, fragment = null http://example.com/foo? → query = "", fragment = null http://example.com/foo# → query = null, fragment = "" http://example.com/foo?# → query = "", fragment = ""
8.0.0 より前のバージョンでは、上記の場合は query も fragment も共に
URL の各要素(コンポーネント) に含まれる制御文字
(ctype_cntrl も参照ください) は、
アンダースコア ( 変更履歴
例
例1 parse_url の例 上の例の出力は以下となります。
array(8) {
["scheme"]=>
string(4) "http"
["host"]=>
string(8) "hostname"
["port"]=>
int(9090)
["user"]=>
string(8) "username"
["pass"]=>
string(8) "password"
["path"]=>
string(5) "/path"
["query"]=>
string(9) "arg=value"
["fragment"]=>
string(6) "anchor"
}
string(4) "http"
string(8) "username"
string(8) "password"
string(8) "hostname"
int(9090)
string(5) "/path"
string(9) "arg=value"
string(6) "anchor"
例2 parse_url でスキームを省略した例 上の例の出力は以下となります。
array(3) {
["host"]=>
string(15) "www.example.com"
["path"]=>
string(5) "/path"
["query"]=>
string(17) "googleguy=googley"
}
注意
|