вопрос
Всем доброго времени суток! Проблема такова. Решил переключиться на PHP 5.6 но модуль отвергает эту версию и выплёвывает ошибку. Немного поюзав я узнал что новая версия PHP не поддерживает функцию preg_replace и она заменена на preg_replace_callback. Но как пивести код в исходное состояние, использовав preg_replace_callback?
Вот строка из кода:
Вот строка из кода:
$this->tpl->copy_template = preg_replace( "#\\[user_group=(.+?)\\](.*?)\\[/user_group\\]#ies", "\$this->check_user_group('\\1', '\\2', '".$this->user_group."')", $this->tpl->copy_template );
Обновите dle до актуальной версии, так будет реально проще.
Там ооооочень много где придется переделывать preg_replace на preg_replace_callback.
И на заметку, preg_preplace поддерживается. Не поддерживается флаг `e`.
PS. А переделывать так:
Ну и разумеется переписать функцию check_user_group. И так для каждой функции.
Там ооооочень много где придется переделывать preg_replace на preg_replace_callback.
И на заметку, preg_preplace поддерживается. Не поддерживается флаг `e`.
PS. А переделывать так:
$this->tpl->copy_template = preg_replace_callback( "#\\[user_group=(.+?)\\](.*?)\\[/user_group\\]#is", array(&$this,'check_user_group'), $this->tpl->copy_template );
Ну и разумеется переписать функцию check_user_group. И так для каждой функции.