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