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
php_function_reference.htm
Advertisements