这里我有一个值,它有一个空白。我使用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']; ?>