Menu Fixe Responsive


Connectez-vous gratuitement !

Enlever ou modifier un caractère accentué d'une chaine de caractères (avec str_replace ou strstr )

Enlever ou modifier un caractère accentué d'une chaine de caractères (avec str_replace ou strstr )





Problèmes rencontrés :

Vous avez déjà lu sur des forums des fonctions qui modifient les caractères accentués soit en utilisant str_replace() soit en utilisant strstr(), mais vous rencontrez les problèmes suivants :

  • Aucune modification n'est faite
  • La fonction retourne des caractères bizarres
  • Autres...

Ce problème m'a vallu quelques minutes de réfllexion. Et c'est pour cette raison que j'ai décidé de partager l'aboutissement de ma réflexion pour vous faire gagner du temps....

 

Les erreurs à ne pas faire pour faire fonctionner ces fonctions :

A travers ce problème, j'ai pu constater que ces fonctions ne répondaient pas ou répondaient mal, si :

  • Vous n'encodez pas votre page en UTF-8
  • Vous utilisez htmlentities dans ces fonctions
  • Et surtout, avoir votre navigateur à jour...

Pour ce dernier point, vous ne devez pas avant d'utiliser ces fonctions, faire subir une transformation " avec htmlentities par exemple ". En effet, ces fonctions ont besoins des valeurs brutes ! Qu'est-ce que j'entends par valeurs brutes, ce sont les valeurs directement envoyées par l'utilisateur.

Si vous respectez ces deux conditions, vous verrez votre code fonctionnera et vous n'oublierez jamais mon site :-)

 

Transformer un caractère accentué avec str_replace :

Transformer un caractère accentué avec str_replace :

si vous trouvez que cette méthode est contraignante lorsqu'on a plusieurs critères, alors je vais vous présenter une autre méthode qui vous évite de mettre à chaque fois les apostrophes et les virgules.

$modifier = strtr($ma_chaine_a_modifier, 'ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ', 'AAAAAACEEEEEIIIINOOOOOUUUUY');
$modifier = strtr($ma_chaine_a_modifier, 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy');

 

Nous touchons la fin de ce tutoriel, j'espère qu'il vous sera utile. En cas de dysfonctionnement, n'hésitez pas à poster votre commentaire.


  cliquez sur
  une étoile

  1    2    3    4    5  






Mettre un commentaire sans compte