0

我将如何扩展,$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);
}
4

1 回答 1

1

您必须修改注入函数以采用任意数量的参数,如下所示:

function inject(){
    $args = func_get_args();
    if(count($args) > 1){
        return call_user_func_array('sprintf', $args);
    }
}
于 2012-10-27T15:37:56.907 回答