<?php
echo sqlTemplate("{{1}} {[2]} {{3:BLABLABLA}}",array(null,"HELLO",array(1,323,452),false));
function sqlTemplate($query,$vars){
$replace = function($matches) use ($vars) {
$varName = trim($matches[2]);
if(count($matches)==5){
return isset($vars[$varName])&&$vars[$varName]?$matches[4]:"";
}else if($matches[1] == '['){
return implode(',',$vars[$varName]);
}else if($matches[1] == '{'){
return $vars[$varName];
}else{
return $matches[0];
}
};
return preg_replace_callback('~\{([\[\{])([a-z0-9\_\-]+)(\:([^\}]*))?[\]\}]\}~i',$replace, $query);
}
preferences:
40.13 ms | 402 KiB | 5 Q