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 に答える