[PHP] ereg_replace strtoupper...

sgenou -  
 sgenou -
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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
sgenou
 
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