- preg_match_all: documentation ( source)
- str_replace: documentation ( source)
<?php
$tst = '!!!!';
$a = '@@@';
$template = '{{$tst}} test {{$a}}';
if (preg_match_all('/{{\$(.*?)}}/', $template, $m)) {
foreach ($m[1] as $i => $varname) {
$template = str_replace($m[0][$i], $$varname, $template);
}
}
echo $template;