FORSMILE
EN
Smarty2016/02/11

Smartyで変数・配列を表示する|escapeを含む基本構文

Smartyで文字列、連想配列、配列要素を表示する基本構文と、HTML属性を含む安全なエスケープを解説します。

ブログ一覧へ / Back to Blog
Smarty syntax guide

変数と配列を表示する

smarty
<h1>{$pageTitle|escape}</h1>
<p>{$user.name|escape}</p>
<p>{$products[0].name|escape}</p>

属性値もエスケープする

smarty
<a href="/users/{$user.id|escape:'url'}">{$user.name|escape}</a>

出力先がHTML本文かURLかJavaScriptかで必要な処理は異なります。Smartyの自動エスケープ設定も含め、プロジェクトの規約を確認してください。

  • 画面表示は原則escapeする
  • 存在しないキーを前提にしない
  • 複雑な整形はPHP側で済ませる
Related articles