- preg_replace_callback: documentation ( source)
<?php
function stringInterpolate($str, array $vars)
{
return preg_replace_callback('/\{\$(\w+)\}/', function($matches) use($vars){
return $vars[$matches[1]];
}, $str);
}
echo stringInterpolate('name: {$name}, surname: {$surname}', array('name' => 'foo', 'surname' => 'Bar'));