construction d'une regex

WRInaute occasionnel
Bonjour,

J'aurais besoin de votre aide pour la construction d'une regex, je suis dessus depuis hier soir et j'avoue que là je sèche.
Je commence même a avoir mal au crâne :mrgreen: , si quelqu'un pourrait m'aider ça serait sympa.

Explication: je voudrais mettre toutes les mots d'une chaîne de caractère qui sont en majuscule => en gras ( en gardant la majuscule).

Pour l'instant j'en suis là :

preg_replace('`(\b[A-Z ]{2,}+\b)`', '<strong>$1</strong>', $standard );

Alors j'ai bien mes mots qui sortent en caractère gras. Tous les mots voulu. Seul problème c'est au niveau du code source, et donc du html. Lorsque j'ai plusieurs mots en majuscule à la suite, il me met des strong autour de chacun de ces mots. Or je voudrais qu'ils puissent le faire sur le groupe de mot.

EXEMPLE :
j'ai ça : <strong>DATE</strong> <strong>DE</strong> <strong>PUBLICATION</strong>

et je voudrais ça: <strong>DATE DE PUBLICATION</strong>

Merci à tous ceux qui voudront bien m'aider
 
WRInaute accro
iz6.png


J'ai bien ce que tu veux avec ta regex pourtant ^^
 
WRInaute occasionnel
Alors ça c'est fou quand même !!

Je viens de retester et effectivement ça marche. Pourquoi hier ça ne marchait pas !? Allez savoir ..

Merci de ton intervention :)
 
WRInaute occasionnel
Et bien désolée je reviens vers toi, car ça fonctionnait tout à l'heure et là d'un coup ça ne fonctionne plus.

J'ai donc isolée le code du reste et mis un texte au pif, un coup ça marchait un coup non.
J'ai fini par voir que la regex ne fonctionne pas quand j'ai un mot qui commence par une majuscule.

Aurai-tu une idée de comment on peut arranger ce problème? (et est-ce que chez toi ça fait pareil?)

Edit: ça ne marche pas non plus si j'ai un double espace dans la chaîne...
 
Discussions similaires
Haut