知识

分享你我感悟

您当前位置>首页 >> 相关知识 >> Pbootcms>

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

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

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

    过滤特殊字符串处理在ppshomecontrollerParserController.php中:

    image.png

    问题案例

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

    image.png

    解决办法

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

    image.png

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

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