2

这是我正在使用的代码:

$from=urldecode($_GET['from']);
$str =urldecode("%2B");
echo "$str<br>";
echo "$from<br>";

这是网址的一部分:from=%2B995594262653

为什么这回声

+
 995594262653

? (注意,数字前面有一个空格)。我$str用来检查该功能是否有效。显然,它适用于简单的%2B. 可能是什么问题?

4

1 回答 1

5

它正在工作,但您需要意识到 PHP 会自动对它放入 $_GET 数组中的数据进行 urldecode 。您正在第二次执行此操作并进一步转换输入。

当您的脚本运行时,$_GET['from']包含+995594262653

当您通过 urldecode 运行该值时,+将转换为空格。

于 2012-11-04T22:17:49.510 回答