Bonjour,

Je veux créer une fonction ajouteNbsp() qui remplace les espaces simples en espaces insécables devant ":" ";" "»" "?" et après "«". Bref, une fonction pour la typographie française. Pour l'instant, j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function ajouteNbsp($text){ 
 $text = preg_replace('/ ([:|;|!|»|\\?])/', ' $1', $text); 
 $text = preg_replace('/([«]) /', '$1 ', $text); 
 return $text;
}
mais, pour une raison que j'ignore, " « " devient " « ". Moi je veux " « ". J'ai pensé que c'était un problème d'encodage, et j'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 $text = preg_replace('/ ([:|;|!|\xc2\xbb|\\?])/', ' $1', $text); 
 $text = preg_replace('/([\xc2\xab]) /', '$1 ', $text);
mais ça donne le même résultat.