smarty3中的问题

smarty3中,在要显示的html模板中,对几对html标签添加了相应的属性和值,但用smarty显示的时候,属性值的双引号全被转译了【也就是说smarty默认就已经添加了双引号】,我不想让smarty自动添加,我自己手动添加双引号,该怎么办呢?

小飞
小飞
6842
编辑于2011-12-27
评论 (2)链接2011-12-27 
  • 0 支持
    你也在页面查看源码看到添加引号了,还是看的smarty的缓存文件中自动添加双引号了? – 小飞 2011-12-27
  • 0 支持
    我在页面源码与template_c都看到了此情形。不过问题我已经解决了,补步原因是在php_ini配置文件中有一项:magic_quotes_runtime=on,被开启了,暂时关闭此项,问题解决。想着可能是Smarty在fetch模板的时候会检测吧,进一步原因还不太确定,希望大侠们提点提点。。 – 崔俭 2011-12-27

magic_quotes_runtime 的问题吧,跟smarty没有关系。如果 magic_quotes_runtime开启的话,那么所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料,
这个称为魔术引号,如果关闭还是别转义,那么将检查程序是不是有调用 get_magic_quotes_runtime()。或者是程序有 addslashes() 将数据转义。

为了被多次转义一般是先判断 是否打开,比如:

  
if (!get_magic_quotes_gpc()) { 
addslashes()
}
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-09
德问是一个专业的编程问答社区,请 登录注册 后再提交答案