IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de formatage de chaine de caractère [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier

    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 164
    Points : 75
    Points
    75
    Par défaut Problème de formatage de chaine de caractère
    Bonjour,

    Je débute dans les expressions régulières et j'ai un petit soucis.
    Je dois formater une chaine de caractères saisie par un utilisateur.
    Je dois remplacer les caractères accentués par les mêmes non accentués et les ponctuations et les espaces par des '_'.

    Voici le code que j'utilise (pas complet) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $pattern = array('/à/','/â/','/ä/','/é/','/è/','/ê/','/ë/','/ï/','/î/','/ô/','/ö/','/ù/','/ü/','/û/','/ç/','/ /');
    $replace = array('a','a','a','e','e','e','e','i','i','o','o','u','u','u','c','_');
    $var = preg_replace($pattern,$replace,$var_saisie);
    Si je saisi une chaine avec divers caractères accentués et des espaces, ça me remplace bien les espaces mais pas les caractères accentués.
    Quelqu'un pourrait m'expliquer le fonctionnement ?

  2. #2
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Essaye cette fonction la plutot (trouvée sur le net)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strtr($chaine, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");

  3. #3
    Membre régulier

    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 164
    Points : 75
    Points
    75
    Par défaut
    merci, ça marche mais il faut que je résolve un problème de format iso

  4. #4
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    met l'encodage de ton fichier à ISO et copie la ligne que je t'ai donné
    Laisse ton logiciel faire le transtypage lui même ^^

  5. #5
    Membre régulier

    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 164
    Points : 75
    Points
    75
    Par défaut
    ça roule merci

    mais si je veux le faire en utilisant les regex, c'est possible ?

  6. #6
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    C'est inutile ici. Tu va consommer des ressources inutilement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Perl] Problème de remplacement de chaine de caractères
    Par LE NEINDRE dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2006, 09h28
  2. Réponses: 2
    Dernier message: 10/05/2006, 15h23
  3. Réponses: 2
    Dernier message: 23/03/2006, 12h39
  4. Réponses: 11
    Dernier message: 22/03/2006, 21h57
  5. Réponses: 4
    Dernier message: 20/08/2004, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo