【发布时间】:2019-11-25 08:23:43
【问题描述】:
我有一个使用带有大量 html 模板的 twig 的项目。不幸的是,没有加载这些模板的“主”模板。所以每个树枝模板都是独立的。
是否可以以这种方式配置 twig,以便将 %spaceless% 函数应用于每个输出? https://twig.symfony.com/doc/2.x/filters/spaceless.html
{% apply spaceless %}
<div>
<strong>foo</strong>
</div>
{% endapply %}
当然 - 可以将这些设置到每个树枝模板中,但这是一个非常愚蠢的想法,因为对于每个新模板,您都必须“记住”。
我的想法是将其直接(可能是扩展)实现到 twig 中,但我只是没有找到正确的方法来执行此操作?或者是否有默认启用此功能的树枝选项?
【问题讨论】:
-
无论是否有可能,您都在使用错误的工具来解决问题,IMO。如果您尝试保存字节以供传输,只需
gzip服务器上的输出即可。 -
可能最有效的解决方案是让内核响应侦听器查看响应是否为内容类型 html/text(或其他),并使用可能存在整体问题的正则表达式相应地编辑正文,删除每个
>和<之间的空格。 (正如 twig 文档指出的那样,它使 pre/textarea 的东西变得困难) -
@Jakumi 你读错了文档。它指出删除 inside html 标记中的空格很困难,但这不是
spaceless所做的 -
@yivi:gzip 已经在使用,但我们也想使用无空间功能。
-
@DarkBee 没有看错特别是,我只是说删除
>和<之间(在html标签)有它的问题。最好复制无空格代码正在使用的正则表达式。不过也懒得找了。 @Marco:顺便说一句,你想达到什么目的,因为它开始听起来像是一个 A-B 问题。