PHP URL编码/解码

Imr*_*hsh 8 php url url-encoding

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

Pas*_*TIN 21

应使用转义URL中传递的值中的奇怪字符urlencode(.


例如,以下代码部分:

echo urlencode('dsf13f3343f23/23=');
Run Code Online (Sandbox Code Playgroud)

会给你:

dsf13f3343f23%2F23%3D
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,作为URL参数.


如果您想使用多个参数构建aquery字符串,请查看该http_build_query()函数.

例如 :

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

会给你 :

id=dsf13f3343f23%2F23%3D&a=plop&b=%24%5E%40test
Run Code Online (Sandbox Code Playgroud)

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