第5章 変数の修飾子

目次

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

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

例 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}

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

  

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

capitalize

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

パラメータの位置 必須 デフォルト 概要
1 boolean No FALSE 数字とセットの単語を大文字にするかどうか
2 boolean No FALSE 単語の途中の大文字を小文字にする (たとえば "aAa" なら "Aaa" にする) かどうか

例 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 も参照してください。