Модификатор / e устарел, используйте вместо него preg_replace_callback после миграции с php5.2.6

Я недавно мигрировал с php5.2.6 на php5.6.22 и теперь я получаю эту ошибку.

Unkwown error. 8192: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

Кажется, что preg_replace устарела в php5.6 ++

http://php.net/manual/en/migration55.deprecated.php

Вот целая функция, где я использую функцию `preg_replace:

function mb_unserialize( $serial_str ) {
$out = preg_replace( '!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
return unserialize( $out );
}

Может кто-нибудь объяснить, как я должен реализовать preg_replace_callback функция с этим типом шаблона? И как preg_replace_callback работает в этой ситуации?

Спасибо

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]