Il serait utile que tu essayes d'aborder en douceur les regex ou fonctions chaîne de PHP en suivant les liens donnés par @rthur. C'est vraiment utile pour des tas de choses telles que validation de champs de formulaire, mise en forme de texte etc...
Ceci dit, et pour te montrer la puissance du truc voici une solution regex possible (en une seule passe):
preg_replace('#(?<!^)[A-Z0-9]+#', ' $0', $texte)
Remplacera les groupes de majuscules A-Z+ ou groupes de chiffres 0-9+ par espace plus motif SAUF si la majuscule ou chiffre est précédé par l'ancrage de début de chaîne --> assertion arrière négative (?<!^)
Variante pas plus rapide:
preg_replace('#(?<=[a-z])[A-Z0-9]+#', ' $0', $texte)
Remplacera les groupes de majuscules A-Z+ ou groupes de chiffres 0-9+ par espace plus motif UNIQUEMENT pour majuscules ou chiffres est précédés par une minuscule --> assertion arrière positive (?<=[a-z])
Allez, au boulot!
Et dis-toi bien que les regex sont utilisées par quasi tous les langages modernes. Investissement utile donc.
ripat