PHP parse_url function

Like this blog? Consider exploring one of our sponsored banner ads...

parse_url

(PHP 3, PHP 4, PHP 5)

parse_url — Parse a URL and return its componentsDescriptionmixed parse_url ( string url [, int component] )

This function parses a URL and returns an associative array containing any
of the various components of the URL that are present.

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.

ChangeLog

VersionDescription5.1.2Added the component parameter


Examples

Example 1. A parse_url() example

$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.

See Also

pathinfo()parse_str()http_build_query()dirname()basename()



About this entry