url_encode
和 url_decode
是 PHP 中用于处理 URL 编码和解码的函数。它们可以在需要将特殊字符转换为 URL 友好格式或者将这些格式还原为原始字符串时使用。
url_encode
:此函数用于将字符串编码为 URL 安全格式。它会将特殊字符(如空格、引号等)转换为 %
后跟两位十六进制数,以便在 URL 中使用。示例:
$string = "Hello, World!";
$encoded_string = urlencode($string);
echo $encoded_string; // 输出:Hello%2C+World%21
url_decode
:此函数用于将经过 url_encode
编码的字符串解码回原始字符串。它会将 %
后跟的十六进制数转换回相应的特殊字符。示例:
$encoded_string = "Hello%2C+World%21";
$decoded_string = urldecode($encoded_string);
echo $decoded_string; // 输出:Hello, World!
配合使用 url_encode
和 url_decode
的一个典型场景是在处理查询参数时。当你需要将包含特殊字符的数据作为查询参数传递给 URL 时,可以使用 url_encode
对其进行编码。然后,在接收方获取并处理这些参数时,可以使用 url_decode
对其进行解码。
示例:
// 发送方
$search_query = "Hello, World!";
$encoded_query = urlencode($search_query);
$url = "https://example.com/search.php?q=" . $encoded_query;
// 接收方 (search.php)
$decoded_query = urldecode($_GET['q']);
echo $decoded_query; // 输出:Hello, World!