问题描述
||
我有简单的PHP代码,可通过电子邮件将URL发送给用户,URL中包含电子邮件地址。我已经使用rawurlencode()在发送之前对电子邮件地址进行编码。
电子邮件客户端(在本例中为Hotmail)正确显示URL,其@符号编码为%40。但是,当我单击链接时,浏览器再次转换为@,导致URL格式错误。
关于如何确保电子邮件客户端或浏览器(不确定是谁的罪魁祸首)的任何建议都不会将URL中的%40解码为@符号?请参见下面的代码。
$resetlink = \"http://www.domain.com/resetpassword/\".rawurlencode($email).\"/\".$email_hash;
解决方法
好吧,我不知道这是否是您的意思,但是您可以执行%2540之类的操作...
例如:
http://www.google.com/search?q=%2540
http://www.google.com/search?q=%40