假设我有一个名为TAKEN FROM DATABASE的聪明变量
$myvar = "i am very happy {-: "
如果我尝试显示它,它给了我“500 内部错误”,因为该字符串包含 smarty 使用的“{”字符。因为它来自数据库,所以我无法控制它会给我的值......我注意到如果字符串包含那些给我错误的字符。
如何正确显示空间字符而不会导致此错误?希望有人能帮忙!
假设我有一个名为TAKEN FROM DATABASE的聪明变量
$myvar = "i am very happy {-: "
如果我尝试显示它,它给了我“500 内部错误”,因为该字符串包含 smarty 使用的“{”字符。因为它来自数据库,所以我无法控制它会给我的值......我注意到如果字符串包含那些给我错误的字符。
如何正确显示空间字符而不会导致此错误?希望有人能帮忙!
字面量不是使用它的好方法
{ldelim} for {
{rdelim} for }
如果你想使用它们是一个不错的选择。
例如,如果您想发送如下所示的 json
send('[{'ID':1},{'Answer':'A'}]');
tpl 文件中的代码如下所示:
send('[{ldelim}'ID':{$smarty.session.user_id}{rdelim},{ldelim}'Answer':'A'{rdelim}]');
尝试在{literal} {/literal}
标签之间输出数据。请参阅{literal} Smarty 文档。
在将其分配给 smarty 之前,您可以尝试str_replace()
使用这些字符的 html 等效项:$myvar
$myvar = "i am very happy {-: "
$myvar = str_replace(array('{','}'), array('{', '}'), $myvar);
$smarty->assign("myvar", $myvar);