strip_tags修飾子 マークアップタグ(HTMLタグ)を取り除く

マークアップタグを取り除く。
< と > で囲まれたもののことです。

パラメータの位置必須デフォルト概要
1boolNoTRUEタグを' 'または''のどちらで置き換えるか
true なら' 'で置き換える

この修飾子には注意点があります。

バグというより、Smartyのルールに純粋に従わないとおかしくなります。

falseの場合にはPHPのstrip_tags関数を使うので特に問題はないのですが、true(デフォルト)の場合には、次のような処理をしています。

preg_replace('!<[^>]*?>!', ' ', $string);

これでは、HTMLコメントアウトやJavaScriptなどがあるとおかしくなります。 例えば以下のようなHTMLコメントアウト。

<!-- > -->

この様な書き方があった場合にはコメントアウトの終了タグ-->が出ます。

これはあくまで『Smartyでは、HTMLコメントアウトではなくSmartyコメントアウトタグ{* *}を使ってください。』という仕様だと思います。

スポンサーリンク

関連記事

スポンサーリンク

letter-spacingを指定した要素内で連続したbr要素が無視される

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る