解决smarty标签的定界符{}与css的{}冲突问题

使用smarty时,当运行该php页面时报如下错误:
Fatal error: Uncaught exception'SmartyCompilerException' with message 'Syntax Error in template".\temp\gy.html" on line 10 "table{background:blue;}" - Unexpected":", expected one of: "}" , " " , ATTR' inD:\wamp\www\smarty3\libs\sysplugins\smarty_internal_templatecompilerbase.phpon line 665
这往往是smarty的定界符和css/js的{}导致的
下面有如下两种方法可以解决,有兴趣的朋友可以参考参考,如有其他更好方法也请指教指教!!!
解决:
1:修改smarty默认定界符,如改成{> ,<}
 对应的php页面需要配置smarty的左右定界符:
    $smarty->left_delimiter = '{>';
    $smarty->right_delimiter = '<}';

  html页面需要做如下修改,如:

   <h1>{>$title<}</h1>
   <p>{>$content<}</p>

2:可以用{literal}{/literal}标签,来告诉smarty,此处照常输出,不用解析
  此时,css和js只需加上
{literal}{/literal}就行,其他不用修改,如:
  {literal}div{background:blue;}{/literal}
<pre name="code" class="html">  <div>
     <h1>{$title}</h1>
     <p>{$content}</p>
  <div>


 

这样页面就可以正常显示了!!!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值