WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

【Symfony2】Twigテンプレートで改行コードや改行タグをエスケープしないで改行する方法

この記事は約1分9秒で読めます

symfony2
ゆっきー
ども、カフェブロガーの悠木です。 お気に入りのカフェはドトールコーヒーです。 14時からの限定スイーツ「シューシャポー」が大好きです。

Symfony2のTwigテンプレートで改行するときの話です。
ちょっと悩んだので備忘録として残します。

nl2brやrawフィルターを使って改行する

改行コード、改行タグの文字列を返すコントローラー

こんな感じで改行コード、改行タグ付きの文字列を返すコントローラーがあるですよ。
{{ str1 }}と普通に変数を表示しても改行を表現してくれず半角空白になっちゃうですよ。

改行コード、改行タグをnl2brフィルター、rawフィルターを使って改行する

Twigテンプレートでは上記のように書きます。

改行コード\nはnl2brフィルターで
改行タグ<br />はrawフィルターで改行します。

rawフィルターはHTMLタグをエスケープせずに表示してくれます。
改行タグ以外にも見出しタグや段落タグなどを表示するときに使えます。

nl2brフィルタを使って改行するときの注意点

\nをnl2brを使って改行するときは文字列をダブルクォーテーションで囲って渡してください。
シングルクォーテーションだと改行コードが変換されません。

Twigのtransフィルターで改行したい場合

translationsフィルターを使っている場合はrawフィルターを併せて指定することで改行することができます。

\nで改行させたい場合はダブルクォーテーションで囲ってあげないとうまく変換できません。

参考サイト

nl2br フィルタは、改行文字の前に HTML の改行タグを挿入します。
nl2br フィルタは、変換する前に、入力を 事前エスケープ (pre-escape) します。
nl2br|symfony-japan

Symfony2おすすめ書籍

関連記事

  1. Symfony2 blogチュートリアル 02 Symfony ディレクトリ構造
  2. symfony2
  3. Symfony2 Routing Annotation
  4. Symfony2 blogチュートリアル 03 データベースの作成と設定
  5. symfony2
  6. Symfony2 MonologからSlackにメッセージを送る

コメントをお待ちしております

PR

カテゴリー