0

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

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

我将它分配给 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 回答