smartyのテンプレートでPHP側で取得した

文字を反映させるて、さらにクロスサイト対策として、escapeをパイプでつけて
出力すると、PHP側で、HTMLタグをつけたままの変数の場所がタグごと出力されてしまいます。これにいい対処法などはあるのでしょうか?それともこういう部分はescape処理が出来ないという認識でいいのでしょうか?
名前A<BR>名前BとPHP側で$NAMEに格納して
それをSMARTY側のテンプレでforeach文を使用して$data.name|escapeとしてしまうとそのまま名前A<BR>名前Bと<BR>タグが表示されてしまう。

回答の条件
  • 1人2回まで
  • 登録:2006/05/29 10:38:03
  • 終了:2006/05/31 11:27:37

回答(1件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数752006/05/30 11:26:20

ポイント60pt

出力結果をどうしたいのでしょうか。

タグ(に見える部分)を削除したいということでしょうか。

おそらく、escapeを行っているので、既にタグとしては無効になっていると思います。

HTMLのタグ部分ごと削除したいのであれば、strip_tagsを使えば良いです。

Smartyはあまり得意ではないので、PHP側でやるべきか、Smarty側でやるべきかは分かりませんが、どちらでも実装可能です。

参考になれば幸いです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません