FORSMILE
EN
Twig2021/02/08

[Twig]空白(space)の制御の方法

コーディングをしていると、htmlタグ間のスペースや、改行などを削除したいときがあると思います。

ブログ一覧へ / Back to Blog

コーディングをしていると、htmlタグ間のスペースや、改行などを削除したいときがあると思います。

空白制御修飾子「-」を使う方法:空白の削除

Twigのタグや変数の記述に修飾子-を使用することで空白を削除することが可能です。

使用例

css
{% set foo = 'test' %}

// sample1 remove all whitespace (including newlines)
<li>
    {{- foo }}    </li>
// result
<li>test    </li>

// sample2 removes all whitespace (excluding newlines)
<li>
    {{~ foo }}    </li>
// result
<li>
test</li>

サンプルを見ていただくとわかる通り、-を付けた側のスペース(改行)が削除されます。

Filterを使って空白を制御する

spacelessフィルターを使うことでも空白を削除することができます。

この場合は、フィルターが適用された値に対して、空白を削除します。

css
{{ "<div>
        foo
    </div>
    "|spaceless }}

// result
<div>foo</div>

applyタグを使うことでタグで囲った部分すべてに適用できます。

css
{% apply spaceless %}
    <div>
        foo bar
    </div>
{% endapply %}

// result
<div>foo bar</div>

applyはフィルターを囲った部分に対して適用してくれるタグです。

※Twig 2.xの時は、{% spaceless %}というタグがありました。

Twigおすすめの書籍

Twigだけに特化した書籍は読んだことがないのですが、AmazonのKindleにありました。

📦
Amazon で関連書籍・ツールを検索
PHP テンプレート Twig
Amazonで探す →(アソシエイトリンク)