使用ci加密方法时,发现会生成/+等uri不允许的字符.

如果需要放在uri中使用时,那么可以使用urlencode后再str_replace('%', '.', $encode);

接收时,先str_replace('.', '%', $encode)后再urldecode()

但是说明中提示.加密会变成2.6倍,这有点多.如果没太大的要求,可以base64代替就ok了.

如下.

http://s1.qidizi.com/index.php/home/statistik/unsubscribe/1/43/cWlkaXppQHFxLmNvbQ.3D.3D

 

$email = base64_decode(urldecode(str_replace('.', '%', $email)));
        echo $email;

显示qidizi@qq.com