2019-08-20

Twig のテンプレートで出力内容から改行コードを取り出す

Twig で改行を取るってどうやるんだっけなー、、、と思って調べてみたけど spaceless はHTMLタグの間をとるっぽい。

Use the spaceless filter to remove whitespace between HTML tags, not whitespace within HTML tags or whitespace in plain text:

ってことなので、

MTAppjQuery 6, 7 用のサポートライセンスの販売を開始しました。
サポートライセンスを購入することで最新版へのアップデート、MTAppjQueryについてのサポートを提供いたします

っていう改行込みのテキストエリアの内容が template_meta_description にセットされてる時、

{% spaceless %}{{ entry.text_summary }}{% endspaceless %}

だと改行は取れない。

このときは

{{ entry.text_summary | replace('/\\n/', '') }}

こんな感じで改行コードを削除する。

なるほど。

参考

PHP の preg_replace には u 修飾子をつけた方がいい | PHP | かたつむりくんのWWW
https://tinybeans.net/blog/201...
spaceless - Documentation - Twig - The flexible, fast, and secure PHP template engine
https://twig.symfony.com/doc/2...