deprecated function ereg is deprecated in

Deprecated: function is deprecated in – ошибка, связанная с использованием устаревших функций в новых версиях PHP. Эти функции больше не будут использованы в языке, и их следует заменить аналогами. Касается это пользователей PHP 5.3 и выше.

Давайте разберемся, что делать дальше.

Deprecated: Function ereg() is deprecated in

Функция для работы с регулярными выражениями ereg() устарела. Вместо неё следует использовать аналогичную функцию preg_match()

Deprecated: Function eregi() is deprecated in

Как видите, в примере выше подставлен параметр «i», говорящий о том, что искать без учета регистра. Применение этого параметра в preg_match() заменяет устаревшую функцию eregi().

Deprecated: Function ereg_replace() is deprecated in

Больше функция ereg_replace() поиска и замены учитывая регистр, работать не будет. Необходимо заменить её на аналогичную функцию — preg_replace(). Синтаксис, на примере очистки строки от лишних пробелов:

Deprecated: Function eregi_replace() is deprecated in

eregi_replace() – функция поиска и замены с без учета регистра. В примере выше осуществлялся поиск по строке, в котором учитывается регистр. Используйте параметр «i» в функции preg_replace() для работы без учета регистра.

Deprecated: Function split() is deprecated in

Функции разбивки строки на массив split() – с учетом регистра, spliti() – без учета регистра, теперь считаются устаревшими. Используйте аналог preg_split(), а если необходимо без учета регистра, то preg_split() с параметром «i». Пример, без учета регистра:

Deprecated: Function session_register() is deprecated in

Используйте супер глобальный массив $_SESSION для передачи значения переменной в сессию

Deprecated: Function session_unregister() is deprecated in
Также необходимо приметь массив $_SESSION вместе с функцией unset().

Deprecated: Function session_is_registered() is deprecated in

Функция session_is_registered(), проверяющая наличие переменной в сессии, устарела. Используйте супер глобальный массив $_SESSION

Deprecated: Function mysql_db_query() is deprecated in

Функция для подключения БД и отправки запроса mysql_db_query() теперь подлежит замене. Необходимо использовать mysql_select_db() для выбора базы и mysql_query() для отправки запроса в эту БД.

Deprecated: Function mysql_escape_string() is deprecated in

Вместо данной функции используйте аналог — mysql_real_escape_string(), который может принимать дополнительные параметры для экранирования специальных символов. И главное, эта функция экранирует с учетом текущей кодировки.

My contact form is othervise working but I keep getting the following error:

Deprecated: Function ereg() is deprecated in/home/.

I’m really lost here but I figure this is the part that needs some adjusting.

Finding a solution would be highly appreciated

3 Answers 3

You must use preg_match instead of ereg because the last one is deprecated.

Replacing it is not a big deal:

p.s. I had to modify more than one hundred files while I was porting my old project to PHP 5.3 to avoid manually modifying I’ve used following script to do it for me:

I hope it helps.

The function ereg() is deprecated and should not be used any more. The documentation tells you what to do (to use preg_match instead).

Like you said — no bigie, it works like a charm:

После перехода PHP с ветки PHP 5.2 (php52-5.2.17) на PHP 5.3 на части сайтов вылезли ошибки Deprecated: Function ereg_replace() is deprecated, хорошо что первоначальный переход я начал на тестовом сервере и было время подготовится, оценить размеры работ для корректного перехода уже на рабочем сервере.

И так, в ветки PHP 5.3 начали борьбу с некоторыми старыми функциями, для начала они выводят предупреждение и сообщают что функция уже не поддерживается и в будущем будет вообще удалена. Но в версии 5.3 еще можно избежать проблем включив режим поддержки старых функций

Это делается в разделе [mbstring]

; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions ; http://php.net/mbstring.func-overload ;mbstring.func_overload = 0[mbstring] mbstring.func_overload = 7

Указав значение mbstring.func_overload равное 7 мы разрешаем все старые функции.

Но это решение можно использовать только как временное, хотя зачем оно вообще?
Ведь можно пока посидеть на ветке 5.2.

Более правильное решение — это замена в коде старых функций на новые, в случае использования ereg и eregi сделать это довольно просто.

было по-старому ereg(«language»,$uri)стало по-новому preg_match(«/language/»,$uri)если было eregi, то добавляем i после разделителя-слеша preg_match(«/language/i»,$uri)

Вот такими нехитрыми манипуляциями мы переходим на следующий уровень, уровень 5.3

Фразы: проблемы с PHP 5.3, после перехода на PHP 5.3, замена старых функций 5.2, замена ereg

Источник: computermaker.info

Понравилась статья? Поделиться с друзьями:
Ок! Компьютер
Добавить комментарий