一尘不染

PHP URL编码/解码

php

我使用了接受此问题的解决方案,例如在 /index.php?id=3中通过id进行加密。问题是我无法将加密的值作为url发送,例如 /index.php?id=dsf13f3343f23/23=。因为有时它的网址中会有奇怪的字符,例如请注意最后的=符号


阅读 881

收藏
2020-05-29

共1个答案

一尘不染

URL中传递的值中的 怪异字符 应使用 urlencode( )进行转义。

例如,以下代码部分:

echo urlencode('dsf13f3343f23/23=');

会给你:

dsf13f3343f23%2F23%3D

可以正常工作,作为URL参数。

而且,如果您想使用多个参数构建查询字符串,请看一下该http_build_query()函数。

例如 :

echo http_build_query(array(
    'id' => 'dsf13f3343f23/23=',
    'a' => 'plop',
    'b' => '$^@test', 
));

会给你 :

id=dsf13f3343f23%2F23%3D&a=plop&b=%24%5E%40test

此函数处理参数本身的转义和连接;-)

2020-05-29