質問: PHP、SymfonyでテンプレートにTwigを使っています。 Twigのテンプレートに表示する文字列を、先頭N文字等で切り詰めたいのですが、テンプレート側で使える関数などがあるのでしょうか? ドキュメントを見たところ、truncateというフィルタや関数は標準ではありませんでした。
回答: 単純に文字列を切り詰めるには、Twig 1.6(2012年2月にリリース)から導入された `slice` フィルタを使います。 リンク先ドキュメントページにもありますが、使い方は、次のようになります。 ``` {{ '12345'|slice(1, 2) }} ``` `|slice()` の部分は `[]` で短く書くこともできます。`companyName` 変数に格納された文字列を先頭から5文字に切り詰める場合は、 ``` {{ companyName[:5] }} ``` と書けます。 上記とは違って、切り詰めた場合には「...」を付加するといったことまで含めたtruncateを利用したい場合は、Twig Extensionsを導入すれば `truncate` フィルタを使えます。