template proc: add variable filters
This commit is contained in:
parent
aef737f376
commit
8a51e29824
|
@ -160,15 +160,25 @@
|
||||||
|
|
||||||
private function var_replace($s){
|
private function var_replace($s){
|
||||||
$m = array();
|
$m = array();
|
||||||
if (preg_match_all('/\$\[{0,1}([a-zA-Z0-9-_]+\.*)+\]{0,1}/', $s,$m)){
|
if (preg_match_all('/(\$\[{0,1}([a-zA-Z0-9-_]+\.*)+)(\|[a-zA-Z0-9-_]+)*\]{0,1}/', $s,$m)){
|
||||||
foreach($m[0] as $var){
|
foreach($m[1] as $id=>$var){
|
||||||
$varn = str_replace(array("[","]"), array("",""), $var);
|
$var = str_replace("[", "", $var);
|
||||||
$val = $this->_get_var($varn, true);
|
$val = $this->_get_var($var, true);
|
||||||
|
|
||||||
|
// apply filters
|
||||||
|
if ($m[3][$id]!=""){
|
||||||
|
$filters = explode("|",trim($m[3][$id],"|"));
|
||||||
|
foreach($filters as $filter)
|
||||||
|
if (function_exists($filter))
|
||||||
|
$val=$filter($val);
|
||||||
|
}
|
||||||
if ($val!=KEY_NOT_EXISTS)
|
if ($val!=KEY_NOT_EXISTS)
|
||||||
$s = str_replace($var, $val, $s);
|
$s = str_replace($m[0][$id], $val, $s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue