在 Smarty 字符串中转义变量
Escaping variables in Smarty strings
我想把一个变量的名字放在一个字符串里面,这样我就可以在字符串被计算成为变量的值之前定义这个变量。我该怎么做?
一些不同的尝试:
{assign var="test" value="$foo"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:未定义索引:foo
{assign var="test" value="{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:未定义索引:foo
{assign var="test" value="\{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:未定义索引:foo
{assign var="test" value="$foo"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:$foo
{assign var="test" value="{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:语法错误
{assign var="test" value="\{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:\bar
找到解决方法:使用单引号!
{assign var="test" value='{$foo}'}
{assign var="foo" value="bar"}
{eval var=$test}
结果:栏
我想把一个变量的名字放在一个字符串里面,这样我就可以在字符串被计算成为变量的值之前定义这个变量。我该怎么做?
一些不同的尝试:
{assign var="test" value="$foo"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:未定义索引:foo
{assign var="test" value="{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:未定义索引:foo
{assign var="test" value="\{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:未定义索引:foo
{assign var="test" value="$foo"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:$foo
{assign var="test" value="{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:语法错误
{assign var="test" value="\{$foo}"}
{assign var="foo" value="bar"}
{eval var=$test}
结果:\bar
找到解决方法:使用单引号!
{assign var="test" value='{$foo}'}
{assign var="foo" value="bar"}
{eval var=$test}
结果:栏