parse_url
(PHP 4, PHP 5)
parse_url — Parse a URL and return its components
Description
mixed parse_url
(
string $url
[,
int $component
] )
This function is not meant to validate
the given URL, it only breaks it up into the above listed parts. Partial
URLs are also accepted, parse_url() tries its best to
parse them correctly.
Parameters
-
url
-
The URL to parse
-
component
-
Specify one of PHP_URL_SCHEME,
PHP_URL_HOST, PHP_URL_PORT,
PHP_URL_USER, PHP_URL_PASS,
PHP_URL_PATH, PHP_URL_QUERY
or PHP_URL_FRAGMENT to retrieve just a specific
URL component as a string.
Return Values
On seriously malformed URLs, parse_url() may return
FALSE and emit a E_WARNING. Otherwise an associative
array is returned, whose components may be (at least one):
-
scheme - e.g. http
-
host
-
port
-
user
-
pass
-
path
-
query - after the question mark ?
-
fragment - after the hashmark #
If the component
parameter is specified a
string is returned instead of an array.
Examples
Example #1 A parse_url() example
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
The above example will output:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
Notes
Note:
This function doesn't work with relative URLs.
Note:
This function is intended specifically for the purpose of parsing URLs
and not URIs. However, to comply with PHP's backwards compatibility
requirements it makes an exception for the file:// scheme where tripple
slashes (file:///...) are allowed. For any other scheme this is invalid.