设置cookie而不转义特殊字符

时间:2011-05-10 12:34:18

标签: php cookies setcookie

我发现setcookie()函数会转义特殊字符,例如引号。我通过清理那些垃圾符号解决了这个问题:

$new_avt = str_replace("\'","",$_COOKIE['avatar']);
$new_avt = str_replace('alt=','',$new_avt);

但我发现这个解决方案很难看。此外,正如您所看到的,我不得不删除'alt'属性,因为我无法正确删除其中的转义符号。对此我唯一的另一个解决方案是将编码的字符串写入cookie,然后在获取cookie时对其进行解码。这个解决方案会比str_replace()更快吗?还有更好的方法吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

如果要在Cookie中存储大量数据,则可能需要考虑使用会话。这会将数据存储在服务器上,而不是在每次请求时将数据发送到客户端或从客户端发送数据。可以序列化的任何变量都可以存储在会话变量中。见http://www.php.net/manual/en/intro.session.php