Smarty技術の辞書・解説・使用例

TOP > Smarty > escape
escape  修飾子 

文字列のエンコードやエスケープを行う。


URLエンコード、クォートのエスケープなどを行うことができます。

書式

{$変数|escape:①string:②string}
{$変数|escape:'url'}
{$変数|escape:'quotes'}

パラメーター

①string (初期値="html") …エンコードする文字列
 html, htmlall, url, urlpathinfo, quotes, hex, hexentity, javascript, mail html 使用するエスケープフォーマット
②string (初期値="ISO-8859-1") …文字コード
 ISO-8859-1, UTF-8 および htmlentities() がサポートする任意の文字セット ISO-8859-1 htmlentities() へ渡す文字セットのエンコーディング

参考情報

URLエンコードを行う場合は {$変数|escape:'url'} を用います。

エスケープ一覧


quotes を指定した場合のエスケープ処理。
'xxx' => \'xxx\'
mail を指定した場合のエスケープ処理。
xxx@yyy.zzz => xxx [AT] yyy [DOT] zzz

サンプルコード


●タグをそのまま表示させます。
{"<strong>あいうえお</strong><br />かきくけこ"|escape}
<strong>あいうえお</strong><br />かきくけこ

{"<strong>あいうえお</strong><br />かきくけこ"|escape:'html'}
<strong>あいうえお</strong><br />かきくけこ

{"<strong>あいうえお</strong><br />かきくけこ"|escape:'htmlall'}
<strong>ã??ã??ã??ã??ã??</strong><br />ã??ã??ã??ã??ã??

●URLエンコード
{"?name=山田太郎&blood=A型"|escape:'url'}
%3Fname%3D%E5%B1%B1%E7%94%B0%E5%A4%AA%E9%83%8E%26blood%3DA%E5%9E%8B

{"あいうえお'かきく'けこ"|escape:'quotes'}
あいうえお\'かきく\'けこ

{'info@xxxx.yy'|escape:'hex'}
%69%6e%66%6f%40%78%78%78%78%2e%79%79

{'info@xxxx.yy'|escape:'mail'}
info [AT] xxxx [DOT] yy

%69%6e%66%6f%40%78%78%78%78%2e%79%79
info [AT] xxxx [DOT] yy