PHP - URL parse_url() Function
The PHP URL parse_url() function is used to parse a URL and return its components. After parsing a URL, this method provides an associative array with all of the different parts of the URL that are present. The array element's values are not decoded from URLs.
This function just breaks the given URL into the sections given below, it is not meant to validate the URL itself. While parse_url() makes each attempt to parse URLs correctly, partial and incorrect URLs are also accepted.
Syntax
Below is the syntax of the PHP URL parse_url() function −
mixed parse_url(string $url, int $component = -1)
Parameters
Below are the parameters of the parse_url() function −
$url − It is the URL to parse.
$component − It specifies 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 get just a specific URL component as a string. If not given it returns an array of all the components.
Return Value
This function basically returns an associative array if no component is specified and if a component is given then it returns a string (or integer for the port). And FALSE on failure.
PHP Version
The parse_url() method was first introduced as part of core PHP 4 and work well with the PHP 5, PHP 7, PHP 8.
Example 1
Here is the basic example of the PHP URL parse_url() function to parse a full URL into its components. The result will be an array with sections like the scheme, host, path, and query.
<?php // Mention the URL here $url = "https://www.tutorix.com:8080/path/to/page?name=ferret&color=purple#section2"; $parsed_url = parse_url($url); print_r($parsed_url); ?>
Output
The above code will result something like this −
Array
(
[scheme] => https
[host] => www.tutorix.com
[port] => 8080
[path] => /path/to/page
[query] => name=ferret&color=purple
[fragment] => section2
)
Example 2
This example shows how to retrieve the protocol (scheme) from a URL with the help of parse_url() method. Generally, the scheme is "http" or "https".
<?php // Mention the URL here $url = "https://www.tutorialspoint.com"; $scheme = parse_url($url, PHP_URL_SCHEME); echo $scheme; ?>
Output
After running the above program, it generates the following output −
https
Example 3
The aim of this example is to extract the route from a URL using the parse_url() function. The domain's particular page or directory is referred to by the path.
<?php // Mention the URL here $url = "https://www.tutorialspoint.com/html/index.htm"; $path = parse_url($url, PHP_URL_PATH); echo $path; ?>
Output
This will create the below output −
/html/index.htm
Example 4
Here, we demonstrate how you can get the host part of a URL using parse_url() function. The host is the domain name just like this − "www.tutorialspoint.com".
<?php // Mention the URL here $url = "https://www.tutorialspoint.com"; $host = parse_url($url, PHP_URL_HOST); echo $host; // Output: www.example.com ?>
Output
When the above program is executed, it will produce the below output −
www.tutorialspoint.com
Example 5
In this code, we take a URL as input and extract its query string. The parameters "name=tomato&color=red" and other parameters sent to the webpage are contained in the query string.
<?php // Mention the URL here $url = "https://www.tutorialspoint.com/page?name=tomato&color=red"; $query = parse_url($url, PHP_URL_QUERY); echo $query; ?>
Output
It will produce the following output after executing −
name=tomato&color=red