文字列内の、あるキーワードを「削除」・「置換」したい時ってありますよね。
Replace
Twigにはreplace
というフィルターが標準で用意されています。
Sample
※ 公式より引用
{{ "I like %this% and %that%."|replace({'%this%': fruit, '%that%': "oranges"}) }}
{# if the "fruit" variable is set to "apples", #}
{# it outputs "I like apples and oranges" #}
{# using % as a delimiter is purely conventional and optional #}
{{ "I like this and --that--."|replace({'this': fruit, '--that--': "oranges"}) }}
{# outputs "I like apples and oranges" #}
ちょっとわかりづらいですかね。
大人気映画シリーズで使用例を紹介します。
使用例
このようなスニペットを用意してみました。
{% set title = movie %}
{% set clean_title = title|replace({'ジュラシック・パーク': ''}) %}
{{ clean_title or 'ジュラシック・パーク' }}
シリーズ1の場合
movie
は「ジュラシック・パーク」ですね。
出力は以下の通り。
ジュラシック・パーク
シリーズ2の場合
movie
は「ロスト・ワールド/ジュラシック・パーク」ですね。
出力は以下の通り。
ロスト・ワールド/
シリーズ3の場合
movie
は「ジュラシックパークIII」ですね。
出力は以下の通り。
III
まとめ
僕のお気に入りはロストワールドです。