parse_urlURL を解釈し、その構成要素を返す 説明
intstringarraynullfalse parse_url(string
$url , int $component = -1)この関数は、URL の様々な構成要素のうち特定できるものに関して 連想配列にして返します。 連想配列に含まれる要素の値は、URLデコード されません。 この関数は、指定された URL が有効かどうかを調べるためのもの ではなく、単に URL を以下で示す 要素に分解するだけのものです。不完全、かつ不正な URL であっても受け入れますし、 そのような場合でも parse_url は可能な限り 正しく解析しようとします。 パラメータ
戻り値
完全におかしな形式の 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" } 注意警告
この関数は相対 URL、
または不正な URL に対しては正しい結果を返さないかもしれません。
また、この関数の返す結果は、
HTTP クライアントの一般的な挙動とも異なるかもしれません。
信頼できない入力から得られる URL をパースする必要がある場合、
たとえば filter_var 関数を
|