织补。在Smarty模板中输出一些变量时遇到问题。希望有人可以帮助我。
我正在使用textarea进行用户输入,textarea可以包含来自用户的任何内容(甚至是脚本标签)......
我将它分配给Smarty并打印变量,我将其写入模板中,如下所示
{$description|nl2br}
但它显示
标签,而不是新行。
为了解决这个问题,我使用了
{$description|nl2br nofilter}
它适用于
标签,但用户也可以输入一些脚本。那些脚本(标签中的javascript)正在执行......
我想要的东西就像我可以将新的行字符转换为
只让标签执行,其他标签应该安全打印。
这里的任何人都知道,如何让它与Smarty一起使用?
答案 0 :(得分:2)
听起来你正在寻找类似{$description|escape:'htmlall'|nl2br}
的东西。
但是你的描述听起来好像你已经开启$escape_html
,这可能会让你难以获得你正在寻找的那种细粒度控制。尝试使用和不使用nofilter
,因为我不是100%确定你是如何设置的。