PHP parse_str 函数用空格替换+号

标签 php

我有一个变量,我通过 url 作为 jSON 字符串传递,其中一部分是以下字符串:

signature=8W2sp\/J+kC6fh8a88jabNPuA8048sShDnXNOo1jSQ=

当我读取 url 并使用 php 中的 parse_str() 函数解析字符串时,+ 符号被空格替换。有没有办法禁止用空格替换 +

最佳答案

作为parse_str自动应用 url_decode对于给定的字符串,加号被解码为空格字符。

要保留加号,请将 + 替换为其编码对应的 %2B

$array = [];
$input = "signature=8W2sp\/J+kC6fh8a88jabNPuA8048sShDnXNOo1jSQ=";
parse_str(str_replace('+', '%2B', $input), $array);
var_dump($array['signature']);

关于PHP parse_str 函数用空格替换+号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094261/

相关文章:

二维数组的 PHP 组合对作为 Christofides 算法解决方案的一部分

php - 从查询创建数组?

php - 上面没有空格的 Wordpress 帖子列

php - 我需要上传一张带有名称的图片,并更改表格(列)

php - 在哪里存储性别和出生年份等信息?

php - 使用 php 将对象插入现有数组

php - "Class not found"尝试对 WordPress 插件使用 Composer 自动加载时

php - 使用phpword下载文件时的标题

php - 获取当前脚本的 URL,即使它包含在内?

php - 当 $dbh->beginTransaction() 返回 FALSE 时我该怎么办?从哪里可以获得有关错误原因的更多信息?