Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in

afsun

Постоялец
Регистрация
6 Дек 2012
Сообщения
53
Реакции
7
Ругается на
Deprecated
: preg_replace:)( The /e modifier is deprecated, use preg_replace_callback instead in /app/addons/news_and_emails/func.php on line 397


Код
PHP:
function fn_rewrite_links($body_html, $newsletter_id, $campaign_id)
{
    $regex = "/href=('|\")((?:http|ftp|https:(\/\/[\w-\.]+[?]?[-\w:\+?\/?\.\=%&;~\[\]]+)/ie";
    $url = fn_url('newsletters.track', 'C', 'http');
    $replace_regex = '"href=\\1$url&link=" . fn_register_link("\\2", $newsletter_id, $campaign_id) . "-" . $newsletter_id . "-" . $campaign_id';
    $matches = array();
    $body_html = preg_replace($regex, $replace_regex, $body_html);

    return $body_html;
}

line 397 $body_html = preg_replace($regex, $replace_regex, $body_html);
 
Последнее редактирование:
Откатится на более старую версию php
Эта функциональность считается УСТАРЕВШЕЙ с PHP 5.5.0, и УДАЛЕНА в PHP 7.0.0.
т.е. надо версию PHP ниже PHP 5.5.0

и мигрировать на более новую версию Cs-cart, вроде бы с 4.3.7 поддерживается PHP 7. Но по хорошему для магазина надо бы держать последнюю версию скрипта из-за патчей безопасности.
 
Откатится на более старую версию php
т.е. надо версию PHP ниже PHP 5.5.0

и мигрировать на более новую версию Cs-cart, вроде бы с 4.3.7 поддерживается PHP 7. Но по хорошему для магазина надо бы держать последнюю версию скрипта из-за патчей безопасности.
В том и проблема. с 7-й не стартанул у меня уже мултивендор 4.2.2 выше 5.5 конечно сейчас стоит - но увы не хочется откатываться
 
Кто поможет с этим кодом?
Код:
function fn_rewrite_links($body_html, $newsletter_id, $campaign_id)
{
    $regex = "/href=('|\")((?:http|ftp|https):\/\/[\w-\.]+[?]?[-\w:\+?\/?\.\=%&;~\[\]]+)/ie";
    $url = fn_url('newsletters.track', 'C', 'http');
    $replace_regex = '"href=\\1$url&link=" . fn_register_link("\\2", $newsletter_id, $campaign_id) . "-" . $newsletter_id . "-" . $campaign_id';
    $matches = array();
    $body_html = preg_replace($regex, $replace_regex, $body_html);

    return $body_html;
}

Исправить на preg_replace_callback
 
Назад
Сверху