Smarty使用脚本和新行字符输出HTML

时间:2012-10-06 22:22:12

标签: php smarty fuelphp

织补。在Smarty模板中输出一些变量时遇到问题。希望有人可以帮助我。

我正在使用textarea进行用户输入,textarea可以包含来自用户的任何内容(甚至是脚本标签)......

我将它分配给Smarty并打印变量,我将其写入模板中,如下所示

{$description|nl2br}

但它显示
标签,而不是新行。

为了解决这个问题,我使用了

{$description|nl2br nofilter}

它适用于
标签,但用户也可以输入一些脚本。那些脚本(标签中的javascript)正在执行......

我想要的东西就像我可以将新的行字符转换为
只让标签执行,其他标签应该安全打印。

这里的任何人都知道,如何让它与Smarty一起使用?

1 个答案:

答案 0 :(得分:2)

听起来你正在寻找类似{$description|escape:'htmlall'|nl2br}的东西。

但是你的描述听起来好像你已经开启$escape_html,这可能会让你难以获得你正在寻找的那种细粒度控制。尝试使用和不使用nofilter,因为我不是100%确定你是如何设置的。