.Water-Sunlight
.サイトメニュー
.検索
.オンライン状況
登録ユーザ: 0
ゲスト: 13
.
<< Prev
テンプレート変数
« INDEX »
PHP テンプレート編
Next >>
テンプレート関数
作成日:2006/08/07

4C.3 修正子

表記法:
{ $value|modifier:parameter1:parameter2: ・・・ } { $value|modifier1|modifier2| ・・・ }

 以下にSmatryに組み込まれている修正子の一覧を示し、簡単な説明とよく使うと思われる修正子の例題を挙げておきます。

一部の修正子は日本語対応が完全でないのでカスタマイズする必要があるかもしれません。 例えば、truncate は文字数でなくバイト数でトランケートするので漢字が2つの割られます。修正子はプラグインとして独自に組み込む事が可能です。

※詳細は公式のSmartyマニュアルを参照して下さい。
修正子説明
capitalize
全ての単語の先頭を大文字に変換します。
count_characters
文字数をカウントします。
cat
文字列を連結します。
count_paragraphs
段落の数をカウントします。
count_sentences
文の数をカウントします。
count_words
単語の数をカウントします。
date_format

日付と時間を strftime() のフォーマットに基づいて整形します。 この修正子はテンプレート変数がUNIXタイムスタンプや(strtotime によって解釈可能な) 文字列としてアサインされている場合に使用でみます。 date_format のフォーマット指定子は PHPマニュアルを参照して下さい。

用例:
{$today|date_format:"%Y-%m-%d %H:%M:%S"}
default

変数がemptyまたはunsetである場合に、指定したデフォルト値を表示します。

用例:
{$cell|default:"&nbsp;"}
escape

様々なエスケープを提供します。

  • html,htmlall,url,urlpathinfo,quotes,hex,hexentity,javascript,mail
用例:
{$contents|escape:"html"}    {* & " ' < > をエスケープ *}
{$contents|escape:"htmlall"} {* 全てのhtmlエンティティをエスケープ *}
indent
各行を字下げ(インデント)します。デフォルトは空白4文字です。 インデントに使用する文字と数が指定できます。(タブは"\t")
lower
小文字に変換します。
nl2br
全ての改行文字を<br />タグに変換します。 PHPの nl2br() 関数 と同じ動作をします。
regex_replace

正規表現による置換を行います。 詳細はphpマニュアルの preg_replace() 関数 を参照して下さい。

用例:
{$contents|regex_replace:"/[\r\t\n]/":" "}
  {* CR,TAB,改行を空白に置換 *}
replace

変数に対して正規表現を用いないシンプルな置換を行います。

用例:
{$contents|replace:" ":"&nbsp;"}
  {* 空白文字をHTML実体参照に変換 *}
spacify
文字間に指定文字を挿入します。指定文字のデフォルトは空白です。
string_format

文字列をフォーマットします。 フォーマット文字列はPHPの sprintf() 関数 を参照して下さい。

用例:
{$number|string_format:"%d"}
strip
連続した空白・改行・タブを、指定の1文字(デフォルトは空白)に置換します。
strip_tags
< と > によって囲まれたマークアップタグを取り除きます。
truncate

指定した文字長(デフォルトは 80 )で切り捨てます。 切り捨てられた時に終端に付加する文字列(デフォルトは '...' )を指定する事が出来ます。 尚、付加する文字列の文字長は元の切り捨ての長さに含まれます。 切り捨てを単語境界で行う( false )か 厳密な文字長ので行う( true )かの指定もできます (デフォルトは ture )。

用例:
{$contents|truncate:30}
{$contents|truncate:30:"...(続く)"}
{$contents|truncate:30:"...(続く)":true}
upper
大文字に変換します。
wordwrap

指定したカラム幅(デフォルトは 80 )で文字列をワードラップします。 次の行に ワードラップする為の文字(デフォルトは \n )の指定ができます。 また、ワードラップを単語境界で行う( false )か 厳密な文字長で行う( true )かの指定もできます (デフォルトは true )。

用例:
{$contents|wordwrap:30}
{$contents|wordwrap:30:"<br />\n"}
{$contents|wordwrap:30:"<br />\n":true}
<< Prev
テンプレート変数
« INDEX »>
Page Top
Next >>
テンプレート関数

.