В PHP7, как заменить этот код из preg_replace () в preg_replace_callback () - PullRequest
0 голосов
/ 28 октября 2018

как Заменить этот код из preg_replace () на preg_replace_callback ()?

$search_array   =   array();
$replace_array  =   array();

$search_array[]     =   '~\{\$([^[<].*?)\[\'([^[<].*?)\'\]\[\'([^[<].*?)\'\]\}~';
$replace_array[]    =   '<?php echo $DHGS->_CONF[\'template\'][\'\\1\'][\'\\2\'][\'\\3\']; ?>';

$search_array[]     =   '~\{\$([^[<].*?)\[([^[<].*?)\]\[([^[<].*?)\]\}~';
$replace_array[]    =   '<?php echo $DHGS->_CONF[\'template\'][\'\\1\'][\'\\2\'][\'\\3\']; ?>';

$search_array[]     =   '~\{\$([^[<].*?)\[\'([^[<].*?)\'\]\}~';
$replace_array[]    =   '<?php echo $DHGS->_CONF[\'template\'][\'\\1\'][\'\\2\']; ?>';

$search_array[]     =   '~\{\$([^[<].*?)\[([^[<].*?)\]\}~';
$replace_array[]    =   '<?php echo $DHGS->_CONF[\'template\'][\'\\1\'][\'\\2\']; ?>';

$search_array[]     =   '~\{\$([^[<].*?)\}~';
$replace_array[]    =   '<?php echo $DHGS->_CONF[\'template\'][\'\\1\']; ?>';

$search_array[]     =   '~\{template}([^[<].*?){/template}~';
$replace_array[]    =   '<?php $this->display(\'\\1\'); ?>';

$search_array[]     =   '~\{include}([^[<].*?){/include}~';
$replace_array[]    =   '<?php include(\\1); ?>';

$search_array[]     =   '~\{info_row}([^[<].*?){/info_row}~';
$replace_array[]    =   '<?php $this->info_row(\'\\1\'); ?>';

$search_array[]     =   '~\{get_hook}([^[<].*?){/get_hook}~';
$replace_array[]    =   '<?php $this->get_hooks_template(\'\\1\'); ?>';

//////////
$string = preg_replace($search_array,$replace_array,$string);

Приведенный выше код выдает устаревшее предупреждение.

Как преобразовать preg_replace в preg_replace_callback!Я пытался конвертировать, но это был сложный процесс ..

...