За последние 24 часа нас посетили 17594 программиста и 1312 роботов. Сейчас ищут 1006 программистов ...

переделать preg_replace в preg_replace_callback

Тема в разделе "Регулярные выражения", создана пользователем kxn, 19 июн 2015.

  1. kxn

    kxn Новичок

    С нами с:
    19 июн 2015
    Сообщения:
    3
    Симпатии:
    0
    Обновил Linux Debian до Jessie. В дистрибютиве Jessie по умолчанию php 5.6. Эта версия перестала поддерживать функцию preg_replace(). В результате появилась такая ошибка:
    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in X.php on line 224

    Люди добрые помогите переделать preg_replace в preg_replace_callback!

    if (empty($route['no_encode'])) {
    $realUrl = preg_replace('/\:([^\/]+)/e', 'urlencode($parametersWithDefaults["\\1"])', $routeUrl);
    } else {
    // Use "no_encode" option
    $realUrl = preg_replace('/\:([^\/]+)/e', 'in_array("\\1", $route["no_encode"]) ? $parametersWithDefaults["\\1"] : urlencode($parametersWithDefaults["\\1"])', $routeUrl);
     
  2. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Вот скажите, вы то понимаете сами, что делаете?
     
  3. kxn

    kxn Новичок

    С нами с:
    19 июн 2015
    Сообщения:
    3
    Симпатии:
    0
    В том то и проблема, что я не программист. Если бы я всё понимал, то не обратился бы за помощью...
    Может Вы меня можете хоть немного просветить?
     
  4. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
  5. kxn

    kxn Новичок

    С нами с:
    19 июн 2015
    Сообщения:
    3
    Симпатии:
    0
    Спасибо Тебе огромное, что попытался мне помочь!
    Но стали вылетать другие ошибки:
    Array ( [0] => :controller [1] => controller ) Array ( [0] => :action [1] => action )
    Warning: Cannot modify header information - headers already sent by (output started at 1.php:201) in 2.php on line 155

    1.php 201 line - print_r($matches);},$routeUrl);
    2.php 155 line - header($status);


    Думаю, нужно искать PHP программиста, чтобы переделал код сайта...
     
  6. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    кстати говоря, в php7 будет введена удобная функция preg_replace_callback_array()