【问题标题】:Set cookie without escaping special characters设置 cookie 而不转义特殊字符
【发布时间】:2011-05-10 20:48:37
【问题描述】:

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

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

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

感谢您的宝贵时间。

【问题讨论】:

  • 如果不强制使用cookies,可以考虑使用$_SESSION数组。
  • 这些字符被编码后有什么问题?
  • @Gumbo 我的问题是,它比我目前的解决方案更有效吗=)

标签: php cookies setcookie


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2019-01-29
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多