« 2006年6月 | トップページ | 2006年8月 »

2006年7月12日 (水)

htmlspecialchars()の逆をやりたい

 PHPの関数に htmlspecialchars() というものがあるが、これの逆を行う関数は無い(ver4までは。ver5はあるのかな?)。

 ということで自力でこの処理をする必要があるのだが、これを使う場面はほとんど表示時なので、以下のコードをSmartyのmodifierとして登録しておけば良さそう。

function smarty_modifier_unhtmlspecialchars($string) { $string = str_replace ( '&amp;', '&', $string ); $string = str_replace ( '&#039;', '¥'', $string ); $string = str_replace ( '&quot;', '"', $string ); $string = str_replace ( '&lt;', '<', $string ); $string = str_replace ( '&gt;', '>', $string ); return $string; }

使うときは

{$text|unhtmlspecialchars|nl2br}

こんな感じで。

| | コメント (0) | トラックバック (0)

« 2006年6月 | トップページ | 2006年8月 »