1

laravelのbladeにて出力するときに常に htmlspecialchars を通したいです。
bladeを拡張、または上書きするような形になると思うのですが、どう実装すればよいか教えていただけますでしょうか?
laravel4.2を使用しております。

technuma
  • 631
  • 4
  • 9
  • 20

1 Answers1

1

データをエスケープして出したいだけでしたら、{{{ }}}でエスケープされて表示されます。

http://readouble.com/laravel/4/2/0/ja/templates.html#other-blade-control-structures

fagai
  • 26
  • 1
  • データをエスケープしたいというのはその通りなのですが、 {{ }} で実現できないかなと考えております ソースの修正箇所が多いもので... – technuma Sep 16 '15 at 06:25
  • なるほど。
    ではBladeのsetContentTagsメソッドをstart/global.phpなりに記述すると良いと思います。
    (なお、5系にする場合はAppServiceProviderのbootメソッドに書くのがよいでしょう)

    \Blade::setContentTags('{{{', '}}}');
    \Blade::setContentTags('{{', '}}', true);

    第3引数がエスケープタグかどうかなので、{{の方をtrueににします。

    – fagai Sep 16 '15 at 10:19