spaceless
Используйте фильтр spaceless для удаления пробелов между тегами HTML, а не пробелов внутри тегов HTML или пробелов в простом тексте:
{{
"<div>
<strong>foo</strong>
</div>
"|spaceless }}
{# output will be <div><strong>foo</strong></div> #}
Вы можете объединить spaceless с тегом apply, чтобы применить преобразование к большим объёмам HTML:
{% apply spaceless %}
<div>
<strong>foo</strong>
</div>
{% endapply %}
{# output will be <div><strong>foo</strong></div> #}
Этот тег предназначен не для «оптимизации» размера генерируемого содержимого HTML, а только для предотвращения лишних пробелов между тегами HTML, чтобы избежать особенностей отображения браузера в некоторых случаях.
Внимание
Поскольку фильтр использует регулярное выражение, его производительность напрямую связана с размером обрабатываемого текста (помните, что фильтры выполняются во время выполнения).
Подсказка
Если вы хотите оптимизировать размер генерируемого HTML-содержимого, сжимайте вывод с помощью gzip.
Подсказка
Если вы хотите создать тег, который фактически удаляет все лишние пробелы в строке HTML, будьте осторожны, это не так просто, как кажется (например, подумайте о тегах textarea или pre). Использование сторонней библиотеки, такой как Tidy, вероятно, будет лучшим решением.
Подсказка
Для получения дополнительной информации об управлении пробелами прочитайте посвященную этому секцию документации и узнайте, как вы также можете использовать модификатор управления пробелами в своих тегах.
© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/3.x/filters/spaceless.html