VIP福利
主页 > 建站问题 > CMS教程 > pbootcms的if判断失效直接显示标签怎么回事?

pbootcms的if判断失效直接显示标签怎么回事?

使用 pbootcms建站 在处理详情内容做判断的时候,有时会出现判断失效的奇怪情况,直接显示标签代码。在一些其他地方判断极小概率也会碰到,这是为什么呢? 例如报错: 程序运行异常:syntaxerror,unexpected=,位置:/apps/home/controller/ParserController.php(3310):eval()dcode,第1行。 碰到这种情况首先检查是否判断的条件里含有了程序过滤的特殊字符,含有的话会使判断失效。 过滤特殊字符串处理在\apps\home\control […]



使用pbootcms建站在处理详情内容做判断的时候,有时会出现判断失效的奇怪情况,直接显示标签代码。在一些其他地方判断极小概率也会碰到,这是为什么呢?

例如报错:

程序运行异常: syntax error, unexpected '=',位置:/apps/home/controller/ParserController.php(3310) : eval()'d code,第1行。

碰到这种情况首先检查是否判断的条件里含有了程序过滤的特殊字符,含有的话会使判断失效。

过滤特殊字符串处理在\apps\home\controller\ParserController.php中:

image.png

问题案例

如下图判断的时候前台失效,直接显示了标签代码。检查判断条件中含有Evaluate触发了eval字符过滤导致。

image.png

解决办法

既然是含有了不该出现的字符,那就想办法不要拿含有这个字符的内容去判断。这里就可以使用到长度截取标签了,我们可以截取几个字符去作为条件判断。

image.png

因此只要在判断条件上增加截取标签,例如:

原来的条件是{content:content},改为{content:content len=2} 即可。

其他的判断条件类似操作,你学会了吗?


说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!