Функция ereg_replace() устарела - Как очистить эту ошибку?
Я написал следующий код PHP:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
После запуска приведенного выше кода, он выдает следующее предупреждение,
Устаревший: функция ereg_replace() устарела
Как я могу решить это предупреждение.
6 ответов
Переключиться на preg_replace
Документы и обновите выражение, чтобы использовать синтаксис preg (PCRE) вместо синтаксиса ereg (POSIX), где есть различия вдокументах (так же, как сказано в руководстве по ereg_replace
Документы).
print $input."<hr>".ereg_replace('/&/', ':::', $input);
становится
print $input."<hr>".preg_replace('/&/', ':::', $input);
Еще пример:
$mytext = ereg_replace('[^A-Za-z0-9_]', '', $mytext );
изменено на
$mytext = preg_replace('/[^A-Za-z0-9_]/', '', $mytext );
Измените вызов на ereg_replace, чтобы вместо него использовать preg_replace
http://php.net/ereg_replace говорит:
Примечание. Начиная с PHP 5.3.0 расширение regex устарело в пользу расширения PCRE.
Таким образом, http://php.net/preg_replace во всех отношениях является лучшим выбором. Обратите внимание, что есть некоторые различия в синтаксисе паттернов.
Вот дополнительная информация о замене ereg_replace на preg_replace
IIRC они предлагают использовать preg_
функции вместо (в этом случае, preg_replace
).