当前位置:首页 > PHP

php urlencode 实现

2026-02-28 08:08:18PHP

PHP 中 URL 编码的实现方法

在 PHP 中,URL 编码可以通过内置函数 urlencode()rawurlencode() 实现。两者的主要区别在于对空格的处理方式。

使用 urlencode() 函数

urlencode() 会将空格转换为加号(+),适用于查询字符串的编码。示例:

$string = "Hello World! 123";
$encoded = urlencode($string);
echo $encoded; // 输出:Hello+World%21+123

使用 rawurlencode() 函数

rawurlencode() 遵循 RFC 3986 标准,将空格转换为 %20,适用于路径部分的编码。示例:

$string = "Hello World! 123";
$encoded = rawurlencode($string);
echo $encoded; // 输出:Hello%20World%21%20123

解码 URL 编码

对应的解码函数为 urldecode()rawurldecode()

$decoded = urldecode("Hello+World%21+123"); // 输出:Hello World! 123
$decoded_raw = rawurldecode("Hello%20World%21%20123"); // 输出:Hello World! 123

处理数组或复杂数据

对于数组或嵌套数据,可以结合 http_build_query() 自动编码:

php urlencode 实现

$data = ['name' => 'John Doe', 'age' => 30];
$query = http_build_query($data);
echo $query; // 输出:name=John+Doe&age=30

注意事项

  • 编码保留字符(如 /, ?, =)时需注意上下文,路径部分建议用 rawurlencode()
  • 在构造完整 URL 时,parse_url()http_build_url()(需安装扩展)可帮助分段处理。

标签: phpurlencode
分享给朋友:

相关文章

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_shi…

php实现静态

php实现静态

静态化实现方法 PHP实现静态化主要通过生成HTML文件或缓存机制来减少服务器动态解析的开销。以下是几种常见方法: 生成静态HTML文件 通过file_put_contents()将动态内容保存为H…

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…

php 实现单链表

php 实现单链表

单链表的基本概念 单链表是一种线性数据结构,由节点组成,每个节点包含数据域和指向下一个节点的指针域。链表的头节点是访问整个链表的入口。 单链表的节点类实现 在PHP中,可以通过类来定义链表节点。每个…

php 函数实现

php 函数实现

PHP 函数实现基础 PHP 函数的定义使用 function 关键字,后跟函数名和参数列表。函数名不区分大小写,但建议保持一致。 function functionName($param1, $p…

php实现域名

php实现域名

PHP实现域名操作的方法 获取当前域名 使用$_SERVER['HTTP_HOST']可以获取当前访问的域名: $currentDomain = $_SERVER['HTTP_HOST']; ech…