我使用了question接受的解决方案来通过id加密,例如/index.php?id=3 。问题是我无法将加密值作为url发送,例如/index.php?id=dsf13f3343f23/23= 。因为有时它在网址中会有奇怪的字符,例如注意最后的=
标志
最佳答案
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
该函数处理参数本身的转义和连接;-)