当前位置:首页 > PHP

php 实现urlencode

2026-02-14 12:50:52PHP

URL编码的基本概念

URL编码(Percent-Encoding)是将特殊字符转换为百分号(%)后跟两位十六进制数的格式。PHP中通过urlencode()函数实现,常用于处理查询字符串或URL参数。

使用urlencode()函数

urlencode(string $str)函数对字符串进行URL编码,保留字母、数字和-_.字符不变,其他字符转换为%XX形式:

$original = "Hello World! 你好";
$encoded = urlencode($original);
echo $encoded; 
// 输出:Hello+World%21+%E4%BD%A0%E5%A5%BD

rawurlencode()的区别

rawurlencode()遵循RFC 3986标准,区别在于空格编码为%20而非+

$str = "data 123";
echo urlencode($str);    // 输出:data+123
echo rawurlencode($str); // 输出:data%20123

解码函数

使用urldecode()rawurldecode()还原编码后的字符串:

$decoded = urldecode("Hello+World%21");
echo $decoded; // 输出:Hello World!

实际应用示例

构建带参数的URL时需编码查询部分:

$baseUrl = "https://example.com/search?q=";
$query = "php urlencode & decoding";
$fullUrl = $baseUrl . urlencode($query);
// 结果:https://example.com/search?q=php+urlencode+%26+decoding

注意事项

  • 路径部分建议使用rawurlencode()
  • 编码后的字符串长度可能显著增加
  • 重复解码不会报错但可能产生非预期结果

php 实现urlencode

标签: phpurlencode
分享给朋友:

相关文章

php实现增删改查

php实现增删改查

以下是在PHP中实现增删改查(CRUD)操作的详细方法,以MySQL数据库为例: 数据库连接配置 创建config.php文件存储数据库连接信息: <?php $host = 'localh…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

php实现上传

php实现上传

PHP 文件上传实现 HTML 表单设置 创建一个包含文件上传字段的 HTML 表单,确保表单的 enctype 属性设置为 multipart/form-data,这是文件上传必需的设置。 <…

php 实现下载

php 实现下载

PHP 实现文件下载的方法 使用 PHP 实现文件下载可以通过设置 HTTP 头信息,强制浏览器将文件作为附件下载而非直接打开。 基本下载实现 $file_path = 'path/to/your…

php 实现类

php 实现类

PHP 类的基本实现 在 PHP 中,类通过 class 关键字定义,后跟类名和一对花括号。类名通常遵循大驼峰命名法(如 ClassName)。以下是基本语法: class ClassName {…

php 实现跳转

php 实现跳转

PHP 实现页面跳转的方法 在PHP中,实现页面跳转可以通过多种方式完成,以下是几种常用的方法: 使用header函数 header函数是PHP中最常用的跳转方法,通过发送HTTP头部信息实现跳转。…