smarty模板{literal}使用

最近在在写js代码的时候,smarty页面报错,最后才找到原因,原来smarty把大括号自动解析了,最后加了这个标签{literal}才好

literal 标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本. 当这些信息处于 {literal}{/literal} 标签中时,模板引擎将不分析它们,而直接显示.

例子:

//IP地址验证

jQuery.validator.addMethod("checkIp", function(value, element) {

    {literal}

    var ip = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; 

    return this.optional(element) || (ip.test(value) && (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256));

    {/literal}

}, "ip地址格式不正确");