web-dev-qa-db-fra.com

La fonction ereg_replace () est obsolète - Comment effacer ce bogue?

J'ai écrit le code PHP PHP:

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

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

Après avoir exécuté le code ci-dessus, il donne l'avertissement suivant,

Obsolète: la fonction ereg_replace () est obsolète

Comment puis-je résoudre cet avertissement.

31
Pradip

Basculer vers preg_replace Documents et mettre à jour l'expression pour utiliser la syntaxe preg (PCRE) au lieu de la syntaxe ereg (POSIX) où il y a des différences Documents (comme il est dit dans le manuel pour ereg_replace Documents ).

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

devient

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

Plus d'exemple:

$mytext = ereg_replace('[^A-Za-z0-9_]', '', $mytext );

est changé en

$mytext = preg_replace('/[^A-Za-z0-9_]/', '', $mytext );
31
Krishna Tripathee

changer l'appel à ereg_replace pour utiliser preg_replace à la place

6
Mark Baker

http://php.net/ereg_replace dit:

Remarque: Depuis PHP 5.3.0, l'extension regex est déconseillée au profit de extension PCRE .

Ainsi, preg_replace est à tous égards un meilleur choix. Notez cependant qu'il existe certaines différences dans la syntaxe des modèles.

4
Amadan

IIRC suggèrent d'utiliser le preg_ fonctionne à la place (dans ce cas, preg_replace).

3
Wevah

Ici est plus d'informations sur le remplacement de ereg_replace par preg_replace

3
Darko Kenda