2006年03月08日
nl2br:改行文字を <br />に変換
textareaで複数行入力すると、必ずと言っていいほど「改行」されます。これをこのまま表示しても改行されません。HTMLの改行は <br /> なので、HTML上で改行させるには、これに変換しないといけません。
PHPには便利な関数があって、nl2br() を使って、改行文字を <br /> に変換できます。通常はこれを使って表示すればいいのですが、まったく同じ機能がSmartyにもあります。それが、 nl2br です。
{$str|nl2br}
で、勝手に改行してくれます。
nl2br も、前述の default や escape とともに、非常によく使います。
言ってしまえば、この3つを組み合わせて使います。たいがい、3点セットで使えば、ほとんどは、思い通りの表示になります。
注意しないといけないのは、<input> タグの value や、<textarea> で指定する場合です。これらの場合で nl2br を使ってしまうと、改行が <br /> に変換されてしまい、正しい値を表示できません。
これは(たぶん)間違い
<textarea name="xxx">{$str|nl2br}</textarea>
この場合は、 nr2br は使わないようにしましょう。
2006年03月08日 18:28 | 4.変数の修正子
トラックバック
このエントリーのトラックバックURL:
コメント
nirvana : 2006年12月28日 18:21



