Chapter 5. 変数の修飾子

Table of Contents

capitalize
cat
count_characters
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap

変数の修飾子は、 変数カスタム関数 や文字列を修飾して出力することができます。修飾子を適用するには、 変数名の後に | (パイプ) と修飾子の名前を指定します。 また、修飾子はその動作に影響を及ぼす追加のパラメータを受け入れる場合もあります。 そのパラメータは修飾子の後に続き、: (コロン) によって区切られます。 また、すべての PHP 関数は、暗黙的に修飾子として使用でき (あとで説明します)、修飾子は 組み合わせる こともできます。

Example 5.1. 修飾子の例


{* 変数に修飾子を適用 *}
{$title|upper}

{* パラメータを持つ修飾子 *}
{$title|truncate:40:'...'}

{* テンプレート関数のパラメータに修飾子を適用 *}
{html_table loop=$myvar|upper}

{* パラメータ付き *}
{html_table loop=$myvar|truncate:40:'...'}

{* リテラル文字列に修飾子を適用 *}
{'foobar'|upper}

{* 現在の日付を整形するために date_format を使用 *}
{$smarty.now|date_format:"%Y/%m/%d"}

{* カスタム関数に修飾子を適用 *}
{mailto|upper address='smarty@example.com'}

{* php の str_repeat を使用 *}
{'='|str_repeat:80}

{* php の count *}
{$myArray|@count}

{* php の shuffle をサーバの ip に対して使用 *}
{$smarty.server.SERVER_ADDR|shuffle}

(* 配列全体の大文字変換と切り詰め *}
<select name="name_id">
{html_options output=$myArray|upper|truncate:20}
</select>

  

register_modifier()修飾子の連結 および プラグインによる Smarty の拡張 も参照してください。

capitalize

変数内の全ての単語の先頭を大文字で開始します。 PHP の ucwords() 関数と似ています。

パラメータの位置 必須 デフォルト 概要
1 boolean No FALSE 数字とセットの単語を大文字にするかどうか

Example 5.2. capitalize


<?php

$smarty->assign('articleTitle', 'next x-men film, x3, delayed.');

?>

   

テンプレート


{$articleTitle}
{$articleTitle|capitalize}
{$articleTitle|capitalize:true}

   

出力


next x-men film, x3, delayed.
Next X-Men Film, x3, Delayed.
Next X-Men Film, X3, Delayed.

   

lower および upper も参照してください。