3

假设我有一个名为TAKEN FROM DATABASE的聪明变量

$myvar = "i am very happy {-: "

如果我尝试显示它,它给了我“500 内部错误”,因为该字符串包含 smarty 使用的“{”字符。因为它来自数据库,所以我无法控制它会给我的值......我注意到如果字符串包含那些给我错误的字符。

如何正确显示空间字符而不会导致此错误?希望有人能帮忙!

4

3 回答 3

5

字面量不是使用它的好方法

{ldelim} for {
{rdelim} for }

如果你想使用它们是一个不错的选择。

例如,如果您想发送如下所示的 json

send('[{'ID':1},{'Answer':'A'}]');

tpl 文件中的代码如下所示:

send('[{ldelim}'ID':{$smarty.session.user_id}{rdelim},{ldelim}'Answer':'A'{rdelim}]');
于 2018-05-18T08:17:29.337 回答
3

尝试在{literal} {/literal}标签之间输出数据。请参阅{literal} Smarty 文档。

于 2013-09-30T18:28:52.443 回答
0

在将其分配给 smarty 之前,您可以尝试str_replace()使用这些字符的 html 等效项:$myvar

$myvar = "i am very happy {-: "
$myvar = str_replace(array('{','}'), array('{', '}'), $myvar);
$smarty->assign("myvar", $myvar);
于 2013-10-01T13:38:33.277 回答