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 :

Supprimer accent d'une string


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut Supprimer accent d'une string
    Bonjour,

    Existe-t-il une fonction php permettant de supprimer les accents d'une chaîne de charactère?

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mastring=école; //école
    echo function($mastring); //ecole
    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Plusieurs solutions possibles. En voici une:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function enleverAccents ($txt){
      $accents = 'áéíóúýÁÉÍÓÚÝàèìòùÀÈÌÒÙäëïöüÿÄËÏÖÜâêîôûÂÊÎÔÛåÅøØßçÇãñõÃÑÕ';
      $sans    = 'aeiouyAEIOUYaeiouAEIOUaeiouyAEIOUaeiouAEIOUaAoOscCanoANO';
      return strtr($txt, $accents, $sans);
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 199
    Par défaut
    essaie avec la fonction replace
    ex: replace ("é", "e", $variable);

  4. #4
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    Bonjour,

    en ce qui me concerne, j'essaye de supprimer tous les accents. J'utilise exactement le script donné par ripat, mais cela ne marche pas.

    Exemple, pour "déjà" la réponse est "dA?jA?"... Une idée de pourquoi?

    Merci d'avance!

  5. #5
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    C'est un problème d'encoding de ta page. On dirait de l'UTF-8.

    Passes ta chaine par utf8_decode avant pour voir ?

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    Oui effectivement si je passe la chaine dans utf8_decode ca marche!

    L'encoding de la page c'est quelque chose que je peut paramétrer? Ca m'embete de faire passer ma chaine dans une fonction suplémentaire (y'en a déjà pas mal )

    Merci!

  7. #7
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    Oui effectivement si je passe la chaine dans utf8_decode ca marche!

    L'encoding de la page c'est quelque chose que je peut paramétrer? Ca m'embete de faire passer ma chaine dans une fonction suplémentaire (y'en a déjà pas mal )

    Merci!

  8. #8
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Oui tu peux le paramétrer dans les balises <meta> de ta page HTML, mais cela dépends aussi de la provenance de tes données.

    Si elles proviennent d'une base dont l'interclassement est en UTF-8 par exemple, je ne suis pas certain que la balise <meta> suffise ? A tester donc.

  9. #9
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    C'est un formulaire on on entre prenom, nom, et je doit traiter le prenom et le nom pour en faire un login selon différents critères, parmi lequel pas d'accent. J'ai donc un index.php avec ce formulaire. J'ai essayé de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    En début de fichier mais ça ne change rien...

  10. #10
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    C'est peut-être ton navigateur qui prends le pas sur les <meta>.

    C'est quoi comme browser ?

  11. #11
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    IE 6.0...

    Mais il me vient quelque chose à l'esprit.

    Je suis en stage et j'ai repris le PC d'un autre stagiaire qui est chinois et qui avait configuré différents truc pour l'alphabet chinois... Peut-être reste-t-il quelque chose qu'il a oublié d'enlevé?

  12. #12
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    C'est dans Affichage->Codage->mettre à Selection automatique ou Europe Occidentale(iso)

  13. #13
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    C'est déjà le cas...

  14. #14
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Par défaut
    En fait c'est plus tordu que ca:

    C'était le cas sur la fenêtre du forum. Sur la fenêtre de mon formulaire c'était UTF8. J'ai passé en ISO, mais quand je valide le formulaire, ca repasse automatiquement en UTF8

Discussions similaires

  1. Supprimer ponctuation dans une string
    Par krokmitaine dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/06/2008, 10h01
  2. Supprimer la fin d'une string
    Par Gaadek dans le forum Delphi
    Réponses: 5
    Dernier message: 16/06/2006, 14h40
  3. disparition des accents dans une chaine string
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/03/2006, 00h19
  4. Réponses: 1
    Dernier message: 11/01/2006, 11h58
  5. [Debutant][String]Supprimer accents
    Par TylerKnoxx dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 06/09/2005, 14h48

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