This function returns an associative array containing any of the various components of the URL that are present. If one of them is missing, no entry will be created for it. The components are :
scheme - e.g. http
host
port
user
pass
path
query - after the question mark ?
fragment - after the hashmark #
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.
Note: This function doesn't work with relative URLs.
See also pathinfo(), parse_str(), dirname(), and basename().