Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Ошибка Warning: preg_replace() в интеграции uppod. Как поправить?

Ошибка Warning: preg_replace() в интеграции uppod. Как поправить?


     16.12.2015    Общие вопросы по PHP    818

вопрос
столкнулся и я с такой ошибкой в php 5.5

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/html/test.site.ru/engine/classes/parse.class.php on line 410

сама строка

$source = preg_replace( "#\[uppod=([^\]]+)\]#ies", "\$this->build_uppod('\\1')", $source );


Помогите поправить, буду признателен.

Ответил: nowheremany


Тогда так
$that = $this;
$source = preg_replace_callback( "#\[uppod=([^\]]+)\]#is", function($m) use ($that){return $that->build_uppod($m[1]);}, $source );

Комментарии пользователей (5)

Апельсин
3

310 | 82

Апельсин - 17 декабря 2015 05:37 - Юзер

нет, это с дефолтным. такая ошибка в новом php. 5,6

HidaN20
22

HidaN20 - 17 декабря 2015 09:13 - Юзер

У самого такое было. Только только пофиксил. Перезалей дефолтный (тот что шел в месте с движком) parse.class.php. И все будет норм:)

Апельсин
3

310 | 82

Апельсин - 17 декабря 2015 17:31 - Юзер

теперь ошибочка такая

Fatal error: Cannot use $this as lexical variable.

да, вот что мне phpinfo говорит

PHP Version 5.6.14-0+deb8u1
Apache Version Apache/2.4.10 (Debian)

nowheremany
192

1659 | 1292

nowheremany - 17 декабря 2015 22:51 - Эксперт

***Комментарий удален***

Благодарность принимаю тут Связь

Апельсин
3

310 | 82

Апельсин - 17 декабря 2015 23:01 - Юзер

А вот так отлично всё. Огромное спасибо тебе! с меня пиво :)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы