当前位置:首页 > PHP

php 实现urlencode

2026-02-28 12:02:31PHP

使用 urlencode 函数

PHP 提供了内置的 urlencode 函数,用于对字符串进行 URL 编码。该函数会将字符串中的非字母数字字符转换为 % 后跟两位十六进制数的形式,空格会被转换为 +

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

使用 rawurlencode 函数

rawurlencode 函数与 urlencode 类似,但会将空格编码为 %20 而不是 +,符合 RFC 3986 标准。

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

编码查询参数

在构建 URL 查询字符串时,通常需要对参数名和参数值分别进行编码。

$params = [
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
];

$query = http_build_query($params);
echo $query; // 输出: name=John+Doe&age=30&city=New+York

编码整个 URL

如果需要编码整个 URL,可以使用 urlencoderawurlencode 结合 parse_url 函数。

$url = "https://example.com/search?q=PHP URL encoding";
$parsed = parse_url($url);

$scheme = $parsed['scheme'];
$host = $parsed['host'];
$path = $parsed['path'];
$query = rawurlencode($parsed['query']);

$encodedUrl = "$scheme://$host$path?$query";
echo $encodedUrl; // 输出: https://example.com/search?q=PHP%20URL%20encoding

解码 URL

使用 urldecoderawurldecode 函数可以解码 URL 编码的字符串。

php 实现urlencode

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

$encoded = "Hello%20World%21";
$decoded = rawurldecode($encoded);
echo $decoded; // 输出: Hello World!

注意事项

  • urlencoderawurlencode 不会编码 -, _, . 等字符。
  • 在编码路径部分时,建议使用 rawurlencode 以避免 + 被误解为空格。
  • 在编码查询参数时,http_build_query 会自动处理编码问题。

标签: phpurlencode
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用LIMIT和OFFSET进行数据库查询分页。通过计算当前页码和每页显示数量,动态生成SQL语句。 $page = isset($_GET['page']) ? (int…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session是…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php 实现接口

php 实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体的实现。类可以实现(implement)接口,并必须实现接口中定义的所有方法。 定义接口 接口通…

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php实现mvc

php实现mvc

PHP 实现 MVC 架构 MVC(Model-View-Controller)是一种常用的软件设计模式,将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller…