spaceless
警告
spaceless
过滤器从 Twig 3.12 开始被弃用。虽然不是完全替代品,但您可以查看空白控制功能。
使用 spaceless
过滤器来删除 HTML 标签之间 的空格,而不是 HTML 标签内的空格或纯文本中的空格
1 2 3 4 5 6 7
{{
"<div>
<strong>foo</strong>
</div>
"|spaceless }}
{# output will be <div><strong>foo</strong></div> #}
您可以将 spaceless
与 apply
标签结合使用,以对大量 HTML 应用转换
1 2 3 4 5 6 7
{% apply spaceless %}
<div>
<strong>foo</strong>
</div>
{% endapply %}
{# output will be <div><strong>foo</strong></div> #}
此标签的目的不是“优化”生成的 HTML 内容的大小,而仅仅是为了避免 HTML 标签之间出现额外的空格,以避免在某些情况下出现浏览器渲染怪异。
注意
由于过滤器在幕后使用正则表达式,因此其性能与您正在处理的文本大小直接相关(请记住,过滤器在运行时执行)。
提示
如果您想优化生成的 HTML 内容的大小,请改为对输出进行 gzip 压缩。
提示
如果您想创建一个实际删除 HTML 字符串中所有额外空格的标签,请注意这并不像看起来那么容易(想想 textarea
或 pre
标签)。使用像 Tidy 这样的第三方库可能是一个更好的主意。
提示
有关空白控制的更多信息,请阅读文档的专用部分,并了解如何在标签上使用空白控制修饰符。