Функция ereg_replace() устарела. Как устранить эту ошибку?

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

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

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

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

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

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


person Pradip    schedule 28.06.2010    source источник
comment
Справочный вопрос: Как преобразовать выражения ereg в preg в PHP?   -  person hakre    schedule 16.11.2012


Ответы (6)


Перейдите в preg_replaceДокументы и обновите выражение, чтобы использовать preg синтаксис (PCRE) вместо синтаксиса ereg (POSIX) где есть различиядокументы< /em> (так же, как указано в руководстве для ereg_replace документы).

person Quentin    schedule 28.06.2010

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 );
person Krishna Tripathee    schedule 18.08.2011

измените вызов ereg_replace, чтобы вместо этого использовать preg_replace

person Mark Baker    schedule 28.06.2010

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

Примечание. Начиная с PHP 5.3.0, расширение регулярного выражения устарело, вместо него используется Расширение PCRE.

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

person Amadan    schedule 28.06.2010

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

person Wevah    schedule 28.06.2010

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

person Darko Kenda    schedule 28.06.2010