[英]Why does Smarty replace things like '%>' with <?php echo '%>'; ?> and how to avoid this?
我正在优化Smarty模板并且事情看起来不错,但唯一剩下的就是生成的缓存模板充满了像<?php echo '%>'; ?>
<?php echo '%>'; ?>
它应该只有'%>'
。
它对'?>'
也是一样的,但这是可以理解的,因为它会混淆PHP, '%>'
会产生相同的效果吗?
asp_tags布尔值
除了通常的标记之外,还允许使用类似ASP的<%%>标记。 这包括<%= $ value%>的变量 - >值打印速记。 有关更多信息,请参阅从HTML转义。
在较新的PHP版本中,这是默认关闭,所以如果聪明的改变那些我不会感到惊讶。 (如果我理解正确的话)
正如您所指出的,对于更传统的结束标记,它也是如此?>
。
好吧, %>
也是一个PHP结束标记,虽然默认情况下禁用了一个。 你用asp-tags激活它:
除了通常的标记之外,还允许使用类似ASP的<%%>标记。 这包括<%= $ value%>的变量 - >值打印速记。 有关更多信息,请参阅从HTML转义。
Smarty刚刚彻底。 不幸的是,它并没有做得很好。 确保禁用此功能,您的问题应该消失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.