Bonjour,

Je souhaiterais si possible en passant par une expression régulière mettre une chaine de caractère en majuscule.
Le problème étant que cette chaine peut contenir du code HTML (liens, images, ...). Je dois donc mettre toute la chaine en majuscule excepté le contenu des balises HTML.

Jusqu'à maintenant j'arrive à mettre en majuscule le contenu des balises et non l'inverse >_<
avec l'expression suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
preg_replace("/(<[^>]+>)/e","mb_strtoupper('$1')",$val);
alors comment faire l'inverse parce que malgrès mes recherches sur le net et mes tentatives je n'arrive à rien.

j'ai bien essayé des bidouille comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
preg_replace("/(^(?<[^>]+>))/e","mb_strtoupper('$1')",$val);
ou
preg_replace("/(^<[^>]+>)/e","mb_strtoupper('$1')",$val);
mais rien à faire... je dois pas bien comprendre la syntaxe je pense...

Merci d'avance pour ceux qui prendront le temps de chercher et de me répondre.