Функция ereg replace () устарела - как очистить эту ошибку?

Я написал следующий PHP код:

$input="menu=1&type=0&";

print $input."<hr>".ereg_replace('/&/', ':::', $input);

после запуска выше кода, он дает следующее предупреждение,

устарело: функция ereg_replace() устарела

Как я могу разрешить это предупреждение.

6 ответов


переключатель preg_replaceDocs и обновите выражение, чтобы использовать синтаксис preg (PCRE) вместо синтаксиса ereg (POSIX)там, где есть различияDocs (так же, как сказано в руководстве для ereg_replaceDocs).


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 для использования человек вместо


http://php.net/ereg_replace говорит:

Примечание: начиная с PHP 5.3.0 расширение regex устарело в пользу расширение PCRE.

таким образом, человек это во всех отношениях лучший выбор. Обратите внимание, что есть некоторые различия в синтаксисе шаблона.


IIRC они предлагают использовать preg_ функции вместо (в данном случае, preg_replace).


здесь дополнительная информация о замене ereg_replace на preg_replace