- preg_replace_callback: documentation ( source)
<?php
$clasa = 'HHH';
$length = '100';
$width = 200;
$depth = 300;
$string1 = '{{clasa}}{{length}}{{width}}';
$string2 = '{{clasa}}{{lenght}}{{depth}}';
$string3 = '{{clasa}}_word{{lenght}},anything{{depth}}';
//$new1 = preg_replace('/{{([a-zA-Z\_\-]*?)}}/', ${'"$1"'}, $string1);
$new1 = preg_replace_callback("/{{([a-zA-Z\_\-]*?)}}/", function($m){
global ${$m["1"]};
return ${$m["1"]};
}, $string1);
echo $new1;