[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как поменять preg_replace на preg_replace_callbac
bendick
Как поменять preg_replace на preg_replace_callback?


В общем мучаюсь уже 2 неделю, не могу понять как сделать правильно, перепробовал кучу вариантов.

Собственно сам код:

if($allow_navigation AND $count_all['count'] > $post_number){

include CLASS_DIR.'/pagination.php';

$pg = new pagination($count_all['count'], $post_number, $cstart);
$arr_pages = $pg->calculate_pages();

if(count($arr_pages['pages']) > 1){

$arr_pages['category_id'] = $category_id;
$arr_link = Array();

$tpl_navigation = ($tpl_navigation) ? $tpl_navigation : 'navigation';
$tpl->load_template(TPL_DIR.'/'.$tpl_navigation.'.tpl');

if($arr_pages['previous'] != $cstart AND $cstart > 1){
$tpl->copy_template = preg_replace( "'\\[prev-link\\](.*?)\\[/prev-link\\]'ies", "faq_get_cstart({$arr_pages['previous']}, '\\1')", $tpl->copy_template );
}else{
$tpl->set_block("'\\[prev-link\\](.*?)\\[/prev-link\\]'si", "\\1");
}

foreach($arr_pages['pages'] as $key => $value){
$pages .= ($arr_pages['current'] == $value) ? '<span>'.$value.'</span> ' : faq_get_cstart($value, $value).' ';
}

$pg_show = $pg->show;
$f_p = $pg_show;
$s_p = ($count_all['count'] / $post_number) - $pg_show;
$s_p = @ceil($s_p);

if($f_p < $arr_pages['current']){
$pages = faq_get_cstart(1, 1).' '.$pages;
}
if($arr_pages['current'] <= $s_p){
$pages = $pages.''.faq_get_cstart($arr_pages['last'], $arr_pages['last']);
}

$tpl->set( '{pages}', $pages);

if($arr_pages['last'] != $cstart AND $arr_pages['last'] != 1){

$tpl->copy_template = preg_replace( "'\\[next-link\\](.*?)\\[/next-link\\]'ies", "faq_get_cstart({$arr_pages['next']}, '\\1')", $tpl->copy_template );

}else{
$tpl->set_block("'\\[next-link\\](.*?)\\[/next-link\\]'si", "\\1");
}
$tpl->compile('faq_content');
$tpl->clear();
}
}



Ругается на 2 строчки т.к. перешел на php 7.
#1

$tpl->copy_template = preg_replace( "'\\[prev-link\\](.*?)\\[/prev-link\\]'ies", "faq_get_cstart({$arr_pages['previous']}, '\\1')", $tpl->copy_template );


#2

$tpl->copy_template = preg_replace( "'\\[next-link\\](.*?)\\[/next-link\\]'ies", "faq_get_cstart({$arr_pages['next']}, '\\1')", $tpl->copy_template );
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.