- preg_match_all: documentation ( source)
- sprintf: documentation ( source)
<?php
$tst = '!!!!';
$a = '@@@';
$template = '{{$tst}}test{{$a}}';
if (preg_match_all("/{{(.*?)}}/", $template, $m)) {
foreach ($m[1] as $i => $varname) {
$tst=11;
echo strval($$varname).PHP_EOL.$m[0][$i].'===='.sprintf('$%s', $varname).PHP_EOL;
//$template = str_replace($m[0][$i], ${$varname}, $template);
}
}
$x = '###'.strval($a).PHP_EOL;
echo $x;
echo $template;