[PHP] ereg_replace strtoupper...

Fermé
sgenou - 6 août 2007 à 09:35
 sgenou - 6 août 2007 à 21:34
Tout d'abord bonjour à tous car c'est mon premier post sur ce forum que je consulte depuis des années...
Mon problême est le suivant: ereg_replace("([\.|\?|\!] )([^[:upper:]])","\\1".strtoupper("\\2"),"mon. texte")
La partie que j'ai mis dans strtoupper reste en minuscule... Pourquoi? Sinon je fais comment pour passe cette partie en majuscule?
A voir également:

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
6 août 2007 à 10:36
Ben oui, strtoupper va s'executer avant que ereg_replace s'execute.
Personnelement je tenterai ceci:

Passer par spliti() pour séparer ([\.|\?|\!] ) et ([^[:upper:]])
Puis dans ([^[:upper:]]) tu fais ton strtoupper et enfin, tu recolles le tout....
0
En fait j'ai fini par trouver: il faut utiliser preg_replace et l'option e:
preg_replace('#([\.|\?|\!] )([^[:upper:]])#e','"\\1".strtoupper("\\2")',"mon. texte");
0