parse_urlParse a URL and return its components Description
intstringarraynullfalse parse_url(string
$url , int $component = -1)This function parses a URL and returns an associative array containing any of the various components of the URL that are present. The values of the array elements are not URL decoded. This function is not meant to validate the given URL, it only breaks it up into the parts listed below. Partial and invalid URLs are also accepted, parse_url tries its best to parse them correctly. Caution
This function may not give correct results for relative or invalid URLs,
and the results may not even match common behavior of HTTP clients.
If URLs from untrusted input need to be parsed, extra validation is
required, e.g. by using filter_var with the
Parameters
Return Values
On seriously malformed URLs, parse_url may return
If the
If the
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 = ""
Previously all cases resulted in query and fragment being
Note that control characters (cf. ctype_cntrl) in the
components are replaced with underscores ( Changelog
Examples
Example #1 A parse_url example
The above example will output: 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"
Example #2 A parse_url example with missing scheme
The above example will output: array(3) { ["host"]=> string(15) "www.example.com" ["path"]=> string(5) "/path" ["query"]=> string(17) "googleguy=googley" } Notes
|