Mon fichier php est en utf8
le fichier texte dont je recupère le texte est en utf8
la page html a un header charset utf8

Je cherche à supprimer les mots de longueur inférieur à égale à 3 caractères:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$regshort = '#\Ws\w{1,3}\W#mxi';
	  $value=preg_replace ($regshort," ", $value);
il butte sur les caractères accentués.
si je fais un simpel echo du texte pas de souci tous les accents sont bien là...
dès que je colle la regExp d'une part il me coupr les mots aux accents et me colle un losange avec un ? à la place des cararctères accentués ...
ça m'echappe.

si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$regshort = '#(.*)#mxi';
il me restitue bien les accents ...
je précise que dans le source les caractères accentués sont bien syntaxés en un seul caractère et pas en htmlentities.
et oh curiosité extrème si j'enumère les caractères:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
'#\b([a-zàâéèê]{0,3})\b#i';
il n'accepte de prendre en compte que les caractères avec accent circonflexe ???