从原始 url 编码的值中取回空白?

get whitespace back from value that is raw url encoded?

这里我有一个白色的值 space.I 使用 rawurlencode() 传递值。但是当我想在数据库查询中使用 sql 中的值时,我可以' t 转义添加的 "%20" 而不是白色 space

<a href =<?php echo "www.example.com?val =".rawurlencode("al zami") ;>click</a>

在后端我使用 $_GET['val'] ..但它有类似 "al%20zami" 的东西。如何在 $_GET 变量

中转义它们

你把代码弄乱了。修复无用的空格,在您的属性周围添加引号,并关闭 PHP 标签。

<a href="<?php echo "?val=".rawurlencode("al zami"); ?>">click</a>
<?php echo $_GET['val']; ?>

我怀疑您对这里的术语有点困惑,因为 %20 已经转义了。据我了解你的问题,你似乎在问如何 unescape 它。

对于那个问题,PHP manual for rawurlencode() 给出了答案。请记住阅读整个页面,并仔细阅读。

话虽这么说。您在 $_GET 数组中得到 URL-转义值这一事实似乎表明您的代码中可能还有一些其他问题。
通常,当服务器从客户端接收到转义值时,服务器会自动转换它们,因此在大多数情况下,永远不需要手动取消转义它们。

所以请 post 一个完整的代码示例,从头到尾突出显示问题。如果您这样做,我们可以帮助您找到并解决真正的问题。不仅仅是症状。

使用以下代码。这里 urldecode 解码给定字符串中的任何 %## 编码。

echo urldecode($_GET['val']);

Ref: php Manual