skinny

in_gl_A

Skinny タグマニュアル

echo - 変数内容の出力

Smarty互換の修飾子を指定して出力します。
修飾子は左方から右方の順で実行されます。

説明

書式

echo(argument|opt1|opt2|opt3|...)

パラメータ

argument : 出力する文字列
opt1 : 修飾子1
opt2 : 修飾子2
opt3 : 修飾子3
   :
   :

説明

このタグは、argument に対し opt1,opt2,opt3...の順で指定された修飾を行って出力します。

修飾子一覧

upper / toupper / strtouppr

英小文字を大文字に変換します。
strtoupper(argument)を行います。

lower / tolower / strtolower

英大文字を小文字に変換します。
strtolower(argument)を行います。

strip / strip_tags

HTMLタグを取り除きます。
strip_tags(argument) を行います。

nl2br

改行コードを<br />に置き換えます。
nl2br(argument)を行います。

html / htmlspecialchars

特殊文字を HTML エンティティに変換します。
htmlspecialchars(argument)を行います。

htmlall / htmlentities

適用可能な文字を全て HTML エンティティに変換します。
htmlentities(argument)を行います。

url / urlencode

文字列をURLエンコードします。
urlencode(argument)を行います。

urld / urldecode

文字列をURLデコードします。
urldecode(argument)を行います。

rurl / rawurlencode

RFC1738に基づきURLエンコードを行います。
rawurlencode(argument)を行います。

rurld / rawurldecode

RFC1738に基づきURLデコードを行います。
rawurldecode(argument)を行います。

urlpathinfo

RFC1738に基づきURLエンコードを行い、スラッシュ'/'を'%02F'に置き換えます。
str_replace('%2F','/',rawurlencode(argument))を行います。

quotes

クォート文字に対してクォート処理を行います。
preg_replace(¥"%(?<!¥¥¥¥¥¥¥¥)'%¥", ¥"¥¥¥¥'¥", argument)を行います。

javascript

JavaScript記述に対してクォート処理を行います。
strtr(argument, array('¥¥'=>'¥¥¥¥',¥"'¥"=>¥"¥¥'¥",'¥"'=>'¥¥¥"',¥"¥r¥"=>'¥¥r',¥"¥n¥"=>'¥¥n','</'=>'<¥/'))を行います。

mail

メールアドレスクローラ対策にメール記号のアット'@'とドット'.'を違う文字列に置き換えます。
str_replace(array('@', '.'),array(' [AT] ', ' [DOT] '), argument)を行います。
置き換える [AT]と[DOT]はskinnyの設定で変更可能です。

nbsp / space

文字列中の半角スペースを &nbsp; に置き換えます。
str_replace(' ','&nbsp;',argument)を行います。

number / number_format

数値文字列を3桁区切りのカンマ表記に変換します。
number_format(argument)を行います。

ahref / link

文字列中のURLをリンクに変更します。
preg_replace(¥'/(https?)(:¥¥/¥¥/[-_.!~*¥¥¥'()a-zA-Z0-9;¥¥/?:¥¥@&=+¥¥$,%#]+)/¥', ¥'<a href="¥¥¥¥1¥¥¥¥2">¥¥¥¥1¥¥¥¥2</a>¥','.$string.')を行います。

rquote

文字列中のダブルクォーテーションをエンティティに変換します。
str_replace('\"', '"', argument)を行います。

strrev / reverse

文字列反転します。この処理はマルチバイトにも対応しています。

width[start,length]

指定した幅で文字列を丸めます。
mb_strimwidth(argument, start, length)を行います。

substr[start,length]

文字列の一部を取得します。
lengthを省略すると文字列の最後までを取得します。
mb_substr(argument, start, length)を行います。

strcut[start,length]

バイト単位で文字列の一部を取得します。
substrと違いマルチバイト文字の途中を指定した場合は、その文字の先頭バイトから取得されます。
mb_strcut(argument, start, length)を行います。

kana[modetype]

指定した変換オプションに従って文字列を変換します。
modetypeはシングルクォートで囲ってください。
mb_convert_kana(argument, 'modetype')を行います。
modetypeについてはPHPマニュアルの mb_convert_kana の項を参照してください。

date[format]

指定したフォーマットに従った日付文字列に変換します。
echoで与えたargumentが数値の場合はunixtime値として扱い、そうでなければstrtotimeを通した結果の値を使用します。
date('format',argument) もしくは date('format',strtotime(argument)) を行います。

week

argument文字列の一部を取得します。
argumentをタイムスタンプとした曜日を「日月火水木金土」のいずれか漢字1字に変換します。
echoで与えたargumentが数値の場合はunixtime値として扱い、そうでなければstrtotimeを通した結果の値を使用します。

サンプル

PHPコード

<?php
    include_once( "Skinny.php" );
    $out = array();
    $out['message'] = "吾輩はPHPである。\n名前は「PHP:Hypertext Preprocessor」である。\n";
    $Skinny->SkinnyDisplay( "echo_sample.html", $out );
?>

テンプレート

<% echo(message) %>
<hr />
<% echo(message|kana['C']|nl2br) %>
<hr />
<% echo(message|substr[15,26]|toupper) %>

出力ソース

吾輩はPHPである。
名前は「PHP:Hypertext Preprocessor」である。
<hr />
吾輩ハPHPデアル。<br />
名前ハ「PHP:Hypertext Preprocessor」デアル。<br />
<hr />
PHP:HYPERTEXT PREPROCESSOR

ブラウザ結果

吾輩はPHPである。 名前は「PHP:Hypertext Preprocessor」である。


吾輩ハPHPデアル。
名前ハ「PHP:Hypertext Preprocessor」デアル。

PHP:HYPERTEXT PREPROCESSOR

目的の配列要素の値を直接出力したい場合

Ver 0.3.0~

echoタグで連想配列の要素にアクセスするにはeachのループを回すしかありませんでした。
v0.3.0以降は、特定の多次元連想配列にアクセスするための @指定子 が実装されました。
下記のようにパラメータ先頭に@を付ける事でループせず要素にアクセスする事が出来ます。
※)$out['sessiondata'] = $_SESSION; とかcookieとかで使えるかも。

// echo $var['sessiondata']['sales']['payment']; と同義です
今月の利用額は「<% echo(@sessiondata/sales/payment) %>円」です。

echoタグはショートコーディングが可能です

Ver 0.4.0~

echoタグの短縮書式が実装されました。Skinnyタグの%を2重にします。
上記サンプルのテンプレートは下記のように書くことが出来ます。
エディタのハイライト指定で処理タグと表示タグで区別させたい場合には便利です。

<%% (message) %%>
<hr />
<%% (message|kana['C']|nl2br) %%>
<hr />
<%% (message|substr[15,26]|toupper) %%>

btn_pagetop