PHP - rawurlencode() 函数



PHP URL rawurlencode() 函数用于根据 RFC 3986 编码字符串。这意味着它替换 URL 中的特殊字符。这有助于使 URL 安全地通过互联网传输。

语法

以下是 PHP URL rawurlencode() 函数的语法:

string rawurlencode(string $str)

参数

此函数接受 $str 参数,它是需要编码的输入字符串。

返回值

rawurlencode() 函数返回编码后的字符串,其中所有特殊字符都替换为其百分比编码的值。

PHP 版本

rawurlencode() 函数首次在 PHP 4的核心版本中引入,在 PHP 5、PHP 7 和 PHP 8 中继续轻松运行。

示例 1

这是 PHP URL rawurlencode() 函数对包含空格和特殊字符的简单字符串进行编码的基本示例。

在此示例中,感叹号和空格将替换为其对应的编码字符。

<?php
   // Mention the string here
   $str = "Hello World!";
   $encodedString = rawurlencode($str);
   echo $encodedString;
?>

输出

以上代码将产生类似这样的结果:

Hello%20World%21

示例 2

现在我们将尝试使用 rawurlencode() 函数并对 URL 路径进行编码以使其安全。

<?php
   // Mention URL path here
   $urlPath = "/PHP/PhpProjects/filename.html";
   $encodedPath = rawurlencode($urlPath);
   echo $encodedPath; 
?> 

输出

运行上述程序后,它将生成以下输出:

%2FPHP%2FPhpProjects%2Ffilename.html

示例 3

现在,以下代码使用 rawurlencode() 函数对包含不同特殊字符的查询字符串进行编码。

<?php
   // Mention string here
   $str = "name=Amit Sharma&age=33";
   $encodedQuery = rawurlencode($str);
   echo $encodedQuery; 
?> 

输出

这将创建以下输出:

name%3DAmit%20Sharma%26age%3D33

示例 4

在下面的示例中,我们使用 rawurlencode() 函数对整个 URL 进行编码。

<?php
   // Mention URL path here
   $url = "https://tutorialspoint.com/search?q=hello world&lang=en";
   $encodedURL = rawurlencode($url);
   echo $encodedURL; 
?> 

输出

执行上述程序后,将产生以下输出:

https%3A%2F%2Fwww.tutorialspoint.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Den%

示例 5

此示例显示如何创建具有特殊字符的动态路径的 URL,因此使用 rawurlencode() 函数将对特殊字符进行编码。

<?php
   // Mention URL path here
   echo '<a href="https://tutorialspoint.com/department_list_script/',
    rawurlencode('quality tutorials and courses'), '">';
?>

输出

执行程序后,我们将得到以下输出:

<a href="https://tutorialspoint.com/department_list_script/quality%20tutorials%20and%20courses">   
php_function_reference.htm
广告