使用spCache()的问题,自动反转义html标签

#1 peter

例子:
$result 本来是这样的:
<textarea name="content" id="content" onkeyup="reSetTextAreaHeight('content','divtext',38);"></textarea>
<div style="width:586px; font-size:14px; line-height:18px; display:none;" id="divtext"></div>
直接读取数据:$result = $obj->find('id=1'); 结果正常

如果使用了spCache()那就不正常了
$result = $obj->spCache(600)->find('id=1');
得到这样的结果:



请jake给解决方案

2012-12-12 22:13:19

#2 peter

不好意思,我这又好了,不会出现自动反转码了,奇怪哈。{:soso_e183:}

2012-12-12 22:29:19

#3 jake

首先说明一下spCache不会什么转码的,它只是利用PHP的序列化功能对数据进行缓存。

在使用spCache开发的时候,会很容易遇到这类问题。比如说一开始在测试中数据第一次可能是经过转义的,然后之后就修改了程序不做转义,但是经过spCache查出来还是会转义(或者其他什么情况吧),看到去掉spCache查出来就是正确的。

所以很容易困惑spCache是做过什么处理没有,不过当spCache缓存时间过去后,数据又显示正常了。

这其实就是缓存的效果,不过很多情况下,在测试开发环境,并不建议把缓存打开,否则很容易造成误会。

一般在开发中,像spCache这种缓存程序,我的建议是先把系统功能做好,上线使用。等到有一定的数据量,也发现了一定程度的系统压力后,才开始使用缓存,而不是一开始就把缓存放进去,这样只会令你的程序忽略了一些必需优化的数据库查询和逻辑问题。

2012-12-12 23:11:58