Ответ 1
Переключитесь на preg_replace
Документы и обновите выражение, чтобы использовать синтаксис preg (PCRE) вместо синтаксиса ereg (POSIX) где есть различия Docs (так же, как говорится в руководстве для ereg_replace
Документы).
Я написал следующий код PHP:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
После запуска над кодом он дает следующее предупреждение:
Устаревший: функция ereg_replace() устарела
Как разрешить это предупреждение.
Переключитесь на preg_replace
Документы и обновите выражение, чтобы использовать синтаксис preg (PCRE) вместо синтаксиса ereg (POSIX) где есть различия Docs (так же, как говорится в руководстве для 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, расширение регулярного выражения устарело в пользу расширение PCRE.
Таким образом, preg_replace является лучшим выбором. Однако есть некоторые различия в синтаксисе шаблонов.
IIRC они предлагают использовать вместо этого функции preg_
(в этом случае preg_replace
).
Здесь больше информации о замене ereg_replace на preg_replace