Помилка - function ereg () або split () is deprecated in - як вирішити проблему

Помилка - function ereg () або split () is deprecated in - як вирішити проблему
Нещодавно версія PHP 5.3 стала стабільною і набирає обертів у всіх хостинг провайдерів. В один час все CMS-ки випустили оновлення які вимагають PHP 5.3 і не нижче. Отже, зараз вже PHP 5.3 стоїть практично у кожного прогресивного хостинг провайдера, тому можна сміливо обговорювати плюси і мінуси даної версії. Конкретною темою сьогоднішньої статті буде проблема не працюють функцій в новій версії.







А саме таких функцій: ereg (), eregi () і split (). Після перенесення наших сайтів на версію PHP 5.3 почали з'являтися помилки типу: Function ereg () is deprecated in. Function eregi () is deprecated in або function split () is deprecated in.







Такі помилки досить легко виправити, наприклад помилку "function split () is deprecated in" можна виправити просто замінивши слово split в вашому коді на explode.

Так саме так, все дуже просто, точно також можна виправити помилку: Function ereg () is deprecated in, просто замінити ereg і eregi на preg_match. Замість та тієї і тієї функції ставиться preg_match ( "/ abcd / i"). До речі зверніть увагу на delimiters. А саме в новій функції це два "слеша" вираження в "". За останніми слешем ставиться "i", якщо ми змінюємо функцію eregi ().

Помилку Function ereg_replace () is deprecated in можна пофиксить всього лише замінивши ereg_replace на preg_replace.

Аналогічним чином вирішується помилка: deprecated: function set_magic_quotes_runtime () is deprecated in

Потрібно зробити так наприклад:

@set_magic_quotes_runtime (0); замінити на ini_set ( 'magic_quotes_runtime', 0);

@set_magic_quotes_runtime ($ mqr); замінити на ini_set ( 'magic_quotes_runtime', $ mqr);

Також хотів би звернути вашу увагу на те, що не варто включати підтримку старих функцій замість того щоб замінити їх на нові, тому що в наступних релізах PHP вам все одно доведеться змінювати їх на нові, адже всі старі функції будуть видалені повністю.