вы можете использовать sprintf
, но вам всегда нужно знать точный порядок, в котором шаблон должен передавать свои аргументы. Я бы предложил что-то более похожее на
// this works only on php 5.3 and up
function sformat($template, array $params)
{
return str_replace(
array_map(
function($key)
{
return '{'.$key.'}';
}, array_keys($params)),
array_values($params), $template);
}
// or in the case of a php version < 5.3
function sformat($template, array $params)
{
$output = $template;
foreach($params as $key => $value)
{
$output = str_replace('{'.$key.'}', $value, $output);
}
return $output;
}
echo sformat('Hello, {what}!', array('what' => 'World'));
// outputs: "Hello, World!"