PHP - URL urldecode() Function



The PHP URL urldecode() function is used to decode URLs that have been encoded using the urlencode() function. This function can decode any %## encoding in a given string. Plus symbols ('+') have decoded to a space character.

Syntax

Below is the syntax of the PHP URL urldecode() function −

string urldecode( string $str )

Parameters

This function accepts $str parameter which is the url to be decoded.

Return Value

The urldecode() function returns the decoded string.

PHP Version

Introduced in core PHP 4, the urldecode() function works well with PHP 5, PHP 7, and PHP 8.

Example 1

First we will show you the basic example of the PHP URL urldecode() function to decode the given encoded string.

<?php
   // Mention encoded string here 
   $str = "Hello%20World";
   $decodedStr = urldecode($str);
   echo $decodedStr; 
?>

Output

The above code will result something like this −

Hello World

Example 2

In the following example, we are using the urldecode() function to decode the given encoded email address.

<?php
   // Mention encoded email address here
   $str = "user%40tutorialspoint.com";
   $decodedEmail = urldecode($str);
   echo $decodedEmail; 
?> 

Output

When the above program is executed, it will produce the below output −

[email protected]

Example 3

This example shows how to decode a URL-encoded string using urldecode() that contains special characters like slashes, ampersands, and spaces.

<?php
   // Mention URL path here
   $str = "https%3A%2F%2Fp.rizon.top%3A443%2Fhttps%2Ftutorialspoint.com%2Fsearch%3Fq%3Dhello%26name%3Damit";
   $decodedURL = urldecode($str);
   echo $decodedURL; 
?> 

Output

This will create the below output −

https://tutorialspoint.com/search?q=hello&name=amit

Example 4

This example shows how to use urldecode() function to decode query string parameters that are encoded with URLs. The string is divided by &, each parameter is decoded, and the key-value pairs that have been decoded will be printed.

<?php
   // Mention encoded string here
   $str = "my=bananas&are=yellow+and+green";
   foreach(explode("&", $str) as $chunk) {
      $param = explode("=", $chunk);
      if($param) {
         printf("Value for parameter \"%s\" is \"%s\"\n", urldecode($param[0]), urldecode($param[1]));
      }
   }
?> 

Output

After running the above program, it generates the following output −

Value for parameter "my" is "bananas"
Value for parameter "are" is "yellow and green"
php_function_reference.htm
Advertisements