如何扩展$insert
以便我可以将多个参数传递给函数,例如
{"Sample text %s this more %s."|inject:$foo:$foo2}
。
目前它仅适用于1个参数。
/**
* Smarty inject modifier plugin
*
* Type: modifier<br>
* Name: inject<br>
* Purpose: sprintf with a IF empty wrapper
*
*/
function smarty_modifier_inject($string, $insert)
{
if(!empty($insert))
return sprintf($string, $insert);
}
答案 0 :(得分:1)
你必须修改inject函数以获取任意数量的参数,如下所示:
function inject(){
$args = func_get_args();
if(count($args) > 1){
return call_user_func_array('sprintf', $args);
}
}