[PHP] ereg_replace strtoupper...

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?
Configuration: Windows 2003
Firefox 2.0.0.6

2 réponses

  1. 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");
    1. Modérateur
      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....