Замена preg_replace() php 7.1

Статус
В этой теме нельзя размещать новые ответы.

Sarkerdo

ETO FIASKO
Регистрация
3 Янв 2016
Сообщения
178
Реакции
105
Друзья, как переписать под php 7.1
Код:
$this->copy_template = preg_replace("#\\{translate=(.+?)\\}#ies", "\$this->load_lang('\\1')", $this->copy_template);
Выдает ошибку
Warning: preg_replace:)( The /e modifier is no longer supported, use preg_replace_callback instead in
Если меняю preg_replace на preg_replace_callback
Ошибка
Warning: preg_replace_callback(:( Requires argument 2, '$this->load_lang('\1')', to be a valid callback in
 
Последнее редактирование:
Для просмотра ссылки Войди или Зарегистрируйся
Крайне не рекомендуется использовать данный модификатор.
Как я понял, данный код используется для локализации шаблона.
Попробуйте вручную получать данные, без eval'a.
 
Для просмотра ссылки Войди или Зарегистрируйся
Крайне не рекомендуется использовать данный модификатор.
Как я понял, данный код используется для локализации шаблона.
Попробуйте вручную получать данные, без eval'a.
Можно на примере, пожалуйста!
 
Так, видимо

PHP:
$this->copy_template = preg_replace_callback("#\\{translate=(.+?)\\}#ies", function($match) use ($this) {
    return  $this->load_lang('\\1');
}, $this->copy_template);
 
Так, видимо

PHP:
$this->copy_template = preg_replace_callback("#\\{translate=(.+?)\\}#ies", function($match) use ($this) {
    return  $this->load_lang('\\1');
}, $this->copy_template);
Да, только без модификатора e
Спасибо
PHP:
$this->copy_template = preg_replace_callback("#\\{translate=(.+?)\\}#is", function($matches) {
    $this->load_lang($matches[1]);
}, $this->copy_template);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху