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