0

页面出现错误,我使用 smarty 作为模板

错误聪明的是:

  Fatal error: Uncaught exception 'SmartyCompilerException' with message
 'Syntax Error in template ".\templates\footer.tpl" 
on line 72 "var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;"

第 72 行是(js):

<script type="text/javascript">
    function validateEmail(email) { 
        var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        return reg.test(email);
    }
...
4

1 回答 1

3

使用{literal}标签转义这些可能冲突的部分。

我引用:

{文字}

{literal} 标签允许按字面意思获取数据块。这通常用于 Javascript 或样式表块,其中 {花括号} 会干扰模板分隔符语法。{literal}{/literal} 标记中的任何内容都不会被解释,而是按原样显示。如果您需要在 {literal} 块中嵌入模板标签,请考虑使用 {ldelim}{rdelim} 来转义各个分隔符。

于 2012-11-02T18:59:21.200 回答