Twig

灵活、快速且安全的
PHP 模板引擎

a Symfony Product
文档 过滤器 spaceless
您正在阅读 Twig 3.x 的文档。切换到 Twig 1.x, 2.x 的文档。

问题 & 反馈

许可证

Twig 文档 基于新的 BSD 许可证 授权。

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> #}

您可以将 spacelessapply 标签结合使用,以对大量 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 字符串中所有额外空格的标签,请注意这并不像看起来那么容易(想想 textareapre 标签)。使用像 Tidy 这样的第三方库可能是一个更好的主意。

提示

有关空白控制的更多信息,请阅读文档的专用部分,并了解如何在标签上使用空白控制修饰符。