+ -
当前位置:首页 → 问答吧 → 问一个关于smarty的问题?

问一个关于smarty的问题?

时间:2010-01-06

来源:互联网

我使用smarty的时候,当我的模板里面包含 {huakuohao}  这样的字符窜时smarty会报错。
如下:
Fatal error: Smarty error: [in header.html line 10]: syntax error: unrecognized tag 'huakuohao' (Smarty_Compiler.class.php, line 590) in G:\xampp\htdocs\php_news\common\libs\Smarty.class.php on line 1093

其实这个 {huakuohao}  就是一窜字符而已,我并不需要smarty去替换它,但是smarty却去替换它,还报错。感觉smarty画蛇添足,正确的应该被smarty解释的应该是{$huakuohao} 但是这个{huakuohao} 也被执行,那么就意味着 网页里面不能出现{ }这样的字符了,真实不爽·· 特别是有些数学类的网站怎么办? 那只能使用另外一种标签了,感觉smarty这部分做的不完善,smarty应该做个判断,如果标签内的内容存在就替换,不存在就略过。

作者: mylanglang   发布时间: 2010-01-06

可选用<!{$XXX}-->方式的标签,对美工也好一些

作者: phpchengdu   发布时间: 2010-01-06

这个和smarty无关。是你自己设置的标签有问题。你既然设置的是{}为左右标签。那就不能怪smarty去解析他。如果安照你的理论的话。那只有两个结果
1、smarty里所有的forecah section if等等全部失效。因为他们开头也都不带$符号
2、将消耗大量的系统资源去验证你的代码是否写的符合规范。
smarty教程里基本上超过95%都不推荐用{}来作为定界符也是有其原因的。

作者: jixiaohai   发布时间: 2010-01-06

是你界定符号设置的问题,可以设置left_delimiter和right_delimiter 分别为<{和}>

作者: jury   发布时间: 2010-01-06