我正在优化Smarty模板,事情看起来不错,但唯一剩下的就是生成的缓存模板中充斥着像<?php echo '%>'; ?>
这样的东西,它应该只有'%>'
。
它对'?>'
也是如此,但这是可以理解的,因为它会混淆PHP,'%>'
会产生同样的效果吗?
答案 0 :(得分:1)
asp_tags boolean
允许使用类似ASP的&lt; %%&gt;标签以及通常的标签。这包括变量&gt;值打印速记&lt;%= $ value%&gt;。有关更多信息,请参阅从HTML转义。
在较新的php版本中,默认情况下这是关闭的,所以如果smarty改变那些我不会感到惊讶。 (如果我理解正确的话)
答案 1 :(得分:1)
正如您所指出的,对于更传统的结束标记?>
,它也是如此。
嗯,%>
也是一个PHP结束标记,虽然默认情况下禁用了一个。您可以使用asp-tags激活它:
允许使用类似ASP的&lt; %%&gt;标签 除了通常的标签。这个 包括变量 - &gt;价值印刷 简写&lt;%= $ value%&gt;。更多 信息,请参阅从HTML中转义。
Smarty刚刚彻底。不幸的是,它并没有做得很好。确保禁用此功能,您的问题应该消失。