pbootcms的if判断失效直接显示标签怎么回事?
使用pbootcms建站在处理详情内容做判断的时候,有时会出现判断失效的奇怪情况,直接显示标签代码。在一些其他地方判断极小概率也会碰到,这是为什么呢?
例如报错:
程序运行异常: syntax error, unexpected '=',位置:/apps/home/controller/ParserController.php(3310) : eval()'d code,第1行。
碰到这种情况首先检查是否判断的条件里含有了程序过滤的特殊字符,含有的话会使判断失效。
微信号:Njkj-6688
添加微信好友, 获取相关信息
复制微信号
添加微信好友, 获取相关信息
复制微信号
过滤特殊字符串处理在\apps\home\controller\ParserController.php中:
问题案例
如下图判断的时候前台失效,直接显示了标签代码。检查判断条件中含有Evaluate触发了eval字符过滤导致。
解决办法
既然是含有了不该出现的字符,那就想办法不要拿含有这个字符的内容去判断。这里就可以使用到长度截取标签了,我们可以截取几个字符去作为条件判断。
因此只要在判断条件上增加截取标签,例如:
原来的条件是{content:content},改为{content:content len=2} 即可。
其他的判断条件类似操作,你学会了吗?
评论