smarty不显示带双引号的文本

时间:2013-05-09 11:15:57

标签: php smarty

我使用smarty作为模板。 我正在提出一个渲染问题。我有一个变量的变量值是

this is text" data

但是当我在tpl文件中打印此值时,除

外,它仅打印this is text
this  is text" data

为什么会这样?请帮忙 提前致谢

2 个答案:

答案 0 :(得分:3)

在smarty中,您可以使用{$variable|escape:'format'}

来转义数据

在这种情况下,html的格式应该可以解决问题

{$variable|escape:html}

参考:http://smarty.net/docsv2/en/language.modifier.escape.tpl

答案 1 :(得分:2)

您不应该在HTML文本节点中使用引号(它无效)。请改用"(转义)。

所以对你的例子来说:

this is text" data

如果您的文字来自您的数据库,请使用htmlspecialchars()正确转义它:

$val = htmlspecialchars($val);