rendered paste body<?php function replace_vars($content,$vv) {
global $vars;
$vars=$vv;
$string=$content;
$regex='/(^|[^!])(\{)(\$)(\w+)(\})/';
// $string=preg_replace_callback($regex,array("site",'transfer_vars'),$string);
$string=preg_replace_callback($regex,'transfer_vars',$string);
$regex2='/([!])(\{)(\$)(\w+)(\})/';
$string=preg_replace($regex2,'\\2\\3\\4\\5',$string);
unset($vv);
unset($vars);
return $string;
}
function transfer_vars($matches) {
global $vars;
if ( isset($vars[$matches['4']]) ) {
if ( is_array($vars[$matches['4']]) ) {
return $matches['1']."<pre>".print_r($vars[$matches['4']],true)."</pre>";
}
else {
return $matches['1'].$vars[$matches['4']];
}
}
else {
return $matches['1']."<span style='color:red;'>[Undefined Variable <b>{$matches['4']}</b>]</span>";
}
}
//usage
$list=array("name"=>"Newbie");
$string='Hello. My Name is <b>{$name}</b>';
echo "Original: {$string}<br />\n";
$string=replace_vars($string,$list);
echo "New: {$string}<br />\n";
?>