0

ダーン。Smarty テンプレートでいくつかの変数を出力する際に​​問題が発生しました。誰かが私を助けてくれることを願っています。

ユーザーからのもの(スクリプトタグを含む)を含むことができるテキストエリアを使用してユーザー入力を取得しています...

これを Smarty に割り当てて変数を出力し、テンプレートに次のように記述します。

{$description|nl2br}

ただし、
改行ではなく、タグをそのまま表示します。

これを解決するために、私は使用しました

{$description|nl2br nofilter}

タグでうまく機能し
ますが、ユーザーはいくつかのスクリプトを入力することもできます。これらのスクリプト (タグ内の JavaScript) が実行されています...


改行文字を変換してタグのみを実行できるようにしたいのですが
、他のタグは安全に印刷する必要があります。

Smarty とうまく連携させる方法を知っている人はいますか?

4

1 に答える 1

2

のようなものを探しているよう{$description|escape:'htmlall'|nl2br}です。

$escape_htmlしかし、あなたの説明は、あなたがスイッチを入れたように聞こえます。nofilterどのように設定されているか 100% 確信が持てないので、ありとなしで試してみてください。

于 2012-10-06T22:28:04.893 に答える