52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
|
<?php
|
||
|
class PregReplaceCallbackClass {
|
||
|
|
||
|
private $DefaultPattern = '/(<<)(\w+)(>>)/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;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
?>
|