Aide sur Regex qui place un trait d'union entre 2 noms en majuscule

Bonjour,
Dans les textes les noms sont en majuscule et il peut y avoir deux noms en majuscule qui se suivent.
Avant le traitement et enregistrement Bdd je veux placer un trait d’union entre ces deux noms.
Si vous pouvez m’aider sur les regex (mettre un trait d’union entre deux mots en majuscule, qui se suivent, exemple : DUPONT DURAND qui doit s’enregistrer dans la Bdd comme ceci DUPONT-DURAND).
Pour l’instant je récupère les deux noms… sans trait d’union à la sortie…
Merci,
Michel

Bonjour,

Le code ci-dessous cherche dans une chaîne de caractères deux mots uniquement composés de majuscules, avec un espace entre les deux, et remplace cet espace par un - :

$variable = preg_replace("#(\b[A-Z]+\b) (\b[A-Z]+\b)#","$1-$2",$variable);

C’est bien ce que vous voulez obtenir ?

Bonjour,
Merci Mathieu, c’est exactement ça !
Cdl,
Michel