smarty - 替换多个值而不是一个

时间:2013-07-08 15:33:57

标签: smarty

文档:http://www.smarty.net/docsv2/en/language.modifier.replace.tpl

我想改变多个值,而不是替换单个值。在文档中,它说str_replace与php的str_replace相同。那么我将如何巧妙地执行以下任务?

$letters = array('a', 'p');
$fruit   = array('apple', 'pear');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);

1 个答案:

答案 0 :(得分:8)

smarty中的等价物将是:

{assign "letters" array('a', 'p')}
{assign "fruit" array('apple', 'pear')}
{assign "text" 'a p'}
{$text|replace:$letters:$fruit}

它提供与php相同的输出:

apearpearle pear

但请注意“在模板中分配变量实际上是将应用程序逻辑放入可以在PHP中更好地处理的表示”(取自http://www.smarty.net/docs/en/language.function.assign.tpl