Page Web : enlever les caractères indésirables (les puces) de Word

Publié le 30 avril 2008 par Olivier Duval

Lors de saisies de formulaires, il arrive assez fréquemment que l'utilisateur copie / colle à partir de Word son texte. Malheureusement, ce dernier est souvent formatté, notamment avec des puces dessinés.

Ces puces ne seront pas lisibles par le navigateur, malgré l'UTF-8 de la page Web. Aussi, autant que faire se peut, il faut les retirer pour l'affichage sinon on encourt le risque d'avoir ce type de caracères sous FF ou IE ou Safari (disponible en version 3.11, apparemment plus stable sous Windows) :

Alors comment faire ?

Grâce à ce site qui nous permettra de rechercher le code UTF du ou des caractères indésirables, par exemple les puces de l'exemple, on recherchera (copier/coller directement du symbole affiché) le symbole.

Une fonction utilitaire avec une regexp suffira pour remplacer les puces par le caractère -, avec un fichier Resource.resx qui contiendra tous les codes UTF des puces à substituer :

<code csharp>

       public static String CleanWord(String chaine)
       {
           string mystr = chaine;
            
           string paras = Resource.RegexSubstituteUTF8.Split(';');
           mystr = Regex.Replace(mystr, paras0, paras1); // puce Word , ...
           return mystr;
       }

</code>

avec comme Resource.resx :

on aura alors le résultat escompté