最近项目中遇到一个问题:页面显示前需要对可能出现的违禁词过滤,之前的做法是使用fetch函数得到编译后的html做正则替换,因为页面不同位置需要设置不同的缓存时间,共执行了三次,导致页面耗时多了0.2s.其实在第一次坐下过滤就足够了,之后访问的都是过滤后的安全内容.翻看smarty源码可知fetch函数执行是页面已经进行了缓存.所以必须在smarty编译前过滤.方法1:采用smarty插件的形式,在页面display或fetch之前使用load_filter函数。例:$smarty->...
查看全文