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


get whitespace back from value that is raw url encoded?

这里我有一个值,它有一个空白。我使用rawurlencode()传递了值。但当我想在数据库查询中使用sql中的值时,我无法逃脱添加的"%20",而不是空白

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

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

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

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

参考:php手动

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

对于这个问题,rawurlencode()的PHP手册给出了答案。只要记住阅读整页,并仔细阅读。

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

因此,请发布一个完整的代码示例,它从头到尾都突出了问题。如果你这样做,我们可以帮助你找到并解决真正的问题。不仅仅是症状。

您把代码搞砸了。修复无用的空格,在属性周围添加引号,然后关闭PHP标记。

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