{{ "I plays"|replace({' ':''}) }}
class MyExtensions extends \Twig_Extension
{
public function getFilters()
{
return array(
new \Twig_SimpleFilter('removeWhiteSpace', array($this, 'removeWhiteSpace'), array('is_safe' => array('html'))),
);
}
public function removeWhiteSpace($string)
{
return preg_replace('/\s+/', '', $string);
}
}
将其声明为服务:
myextensions.twig_extension:
class: YourProject\YourBundle\Twig\MyExtensions
public: false
tags:
- { name: twig.extension }
并在你的树枝模板中调用它:
{{ "Test remove white space"|removeWhiteSpace }}
stringWithNonBreakingWhitespace|replace({' ':''}
要替换非制动空格,您必须使用转义序列:
stringWithNonBreakingWhitespace|replace({'\xc2\xa0':''}
{{ "<div>
<strong>foo</strong>
</div>"|spaceless }}
您可以将 spaceless 与 apply 标签结合起来,以将转换应用于大量 HTML:
{% apply spaceless %}
<div>
<strong>foo</strong>
</div>
{% endapply %}
{% if primary -%}
<div class="visually-hidden">{{ 'Primary tabs'|t }}</div>
<ul>{{ primary }}</ul>
{%- endif %}
{%- if secondary -%}
<div class="visually-hidden">{{ 'Secondary tabs'|t }}</div>
<ul>{{ secondary }}</ul>
{%- endif %}
在 {%- if -%} 和 {%- endif -%} 标签内添加“-”可以消除多余的空格。
希望这有帮助!