dwh/class/PregReplaceCallbackClass.php

52 lines
1.2 KiB
PHP
Raw Normal View History

2023-10-02 10:26:17 +00:00
<?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;
}
}
?>