>)/im'; public $Pattern = ''; public $FormatName = ''; public $TemplateArrayName = ''; public $FuncName = ''; public function __construct ($Pattern='') { if (empty($Pattern)){ $this->Pattern = $this->DefaultPattern; } } public function SetCallBackProcedureName ($FunctionName) { $this->FuncName = $FunctionName; } public function SetTemplateArray ($TemplateArrayName){ $this->TemplateArrayName = $TemplateArrayName; return true; } public function SetFormatName($FormatName) { $this->FormatName = $FormatName; } public function PregReplaceCallback () { //assigning template array from session var $my_template_array = $_SESSION[$this->TemplateArrayName]; if ($this->FuncName != '') { $result = preg_replace_callback($this->Pattern,$this->FuncName,$my_template_array[$this->FormatName]); } else { $result = preg_replace_callback($this->Pattern,create_function('$matches', '$my_var_array = $_SESSION[\'ARRAY_ADDR_VAR\'];return $my_var_array[$matches[2]];'), $my_template_array[$this->FormatName]); } return $result; } } ?>