Expressions régulières et version de PHP

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 - 31 mai 2011 à 10:18
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 - 31 mai 2011 à 16:08
Bonjour,
J'ai une question sur les Rég Exp et le fait que certaines fonctions soient DEPRECATED sous PHP 5.3
Puis-je remplacer (sous PHP 5.2.x)
$str = ereg_replace($separator . '$', '', $str);

par (sous PHP 5.3)
$str = preg_replace('/$'.$separator . '/', '', $str);


J'avoue être super rouillé sur les RegExp, j'aimerais avoir des avis illuminés pour m'éviter d'écrire des bêtises.
Merci de votre aide
S.

2 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
31 mai 2011 à 11:59
Salut,

D'une manière générale : oui. Je te recommande la lecture de l'article traitant des différences entre regex POSIX et PCRE.

Nota : dans ton exemple tu n'as pas mis le $ au bon endroit pour le preg_replace().
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
31 mai 2011 à 16:08
Oui, j'avais vu pour le $..
d'ou une nouvelle mouture:
$str = preg_replace(array('/^'.$separator.'+/','/'.$separator.'+$/'),'',$str);

Qu'en penses tu ??
S.
0
Rejoignez-nous