Fonction suppression accent PHP
pekwy
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
pekwy Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
pekwy Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'essaie de récupérer une chaîne de caractères "titre" via un formulaire. Jusque là pas de problème. Mais je souhaiterais pouvoir modifier cette chaîne de caractères en supprimant les accents.
J'ai donc essayé de la manière suivante :
En faisant :
Mais en faisant :
Quelqu'un pourrait m'éclairer ?
Cordialement
J'essaie de récupérer une chaîne de caractères "titre" via un formulaire. Jusque là pas de problème. Mais je souhaiterais pouvoir modifier cette chaîne de caractères en supprimant les accents.
J'ai donc essayé de la manière suivante :
<?php $titre = $_POST['titre']; function ModifierCaractere($chaine){ $chaine = strtr($chaine,"ÀÂÄÇÈÉÊËÌÎÏÑÒÔÕÖÙÛÜàáâãäåçèéêëìíîïñòóôõöùúûüýÿ","aaaceeeeiiinoooouuuaaaaaaceeeeiiiinooooouuuuyy"); return $chaine; }; ?>
En faisant :
echo ModifierCaractere(élephant);j'obtiens bien elephant sans accent
Mais en faisant :
echo ModifierCaractere($titre);j'obtiens le titre renseigné dans le formulaire avec les accents.
Quelqu'un pourrait m'éclairer ?
Cordialement
A voir également:
- Fonction suppression accent PHP
- Forcer suppression fichier - Guide
- Fonction si et - Guide
- E accent minuscule - Guide
- Easy php - Télécharger - Divers Web & Internet
- Suppression compte gmail - Guide
2 réponses
Bonjour,
C'est très étonnant...
Je ne vois qu'une cause possible : des soucis d'encodage.
Quel est l'encodage de ta page PHP ? Celui-ci est-il le même que l'encodage de ta page HTML générée, et est-il bien transmis au client dans les en-têtes ?
Xavier
C'est très étonnant...
Je ne vois qu'une cause possible : des soucis d'encodage.
Quel est l'encodage de ta page PHP ? Celui-ci est-il le même que l'encodage de ta page HTML générée, et est-il bien transmis au client dans les en-têtes ?
Xavier
Bonjour et merci pour votre réponse !
Mes deux pages *.php sont encodées en ISO 8859-1.
Voici les codes complets de ces pages, je ne sais pas si cela peut vous aider :
Page fichier.php :
Page nouveau.php :
Bien cordialement
Mes deux pages *.php sont encodées en ISO 8859-1.
Voici les codes complets de ces pages, je ne sais pas si cela peut vous aider :
Page fichier.php :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1"> </head> <body> <form method="post" action="nouveau.php"> <table border="0"> <tr> <td><input type="text" name="titre" id="titre" value="<?php echo Titre; ?>" onFocus="javascript:this.value=''" /></td> </tr> <tr> <td> <input type="submit" value="OK"/> </td> </tr> </table> </form> </body> </html>
Page nouveau.php :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1"> </head> <body> <?php $titre = $_POST['titre']; function ModifierCaractere($chaine){ $chaine = strtr($chaine,"' ÀÂÄÇÈÉÊËÌÎÏÑÒÔÕÖÙÛÜàáâãäåçèéêëìíîïñòóôõöùúûüýÿABCDEFGHIJKLMNOPQRSTUVWXYZ","--aaaceeeeiiinoooouuuaaaaaaceeeeiiiinooooouuuuyyabcdefghijklmnopqrstuvwxyz"); return $chaine; }; echo ModifierCaractere($titre); ?> </body> </html>
Bien cordialement