Aller au contenu

Enlever tous les caractères spéciaux d'une chaîne


AntoineI

Sujets conseillés

Bonjour,

Je suis à la recherche d'une fonction php qui me permettrait d'enlever tous les caractères spéciaux d'une chaîne de caractères (lettres accentuées, cédille, points d'exclamation, d'interrogation...).

Je sais que je pourrai le faire moi-même (en utilisant la fonction str_replace()), mais c'est plutôt fastidieux... et je ne penserai peut-être pas à tous les caractères ;-) !

Merci d'avance, Antoine

Lien vers le commentaire
Partager sur d’autres sites

Merci pour la réponse rapide !

Mais là , la fonction htmlentities ne supprime pas les lettres accentuées ni autres caractères spéciaux...

Antoine

Modifié par AntoineI
Lien vers le commentaire
Partager sur d’autres sites

En fait, ce que je veux, c'est :

- j'ai une chaîne de caractère, avec des accents, des points d'exclamation

- une fonction la transforme en supprimant tous les caractères "spéciaux", c'est à dire qui ne sont pas dans l'alphabet, donc en supprimant les accents, les points d'exclamation.....

Je recherche donc cette fonction "miracle".

Si j'ai bien compris, ça correspond pas trop à ce que tu expliques sur ton blog. Ou alors j'ai mal compris (c'est possible aussi ;-)).

Antoine

Lien vers le commentaire
Partager sur d’autres sites

effectivement,

ma fonction fait tous les caractères (latins et spéciaux) sauf les points d'exclamations etc...

Il n'y a pas beaucoup de caracs super-spéciaux, tu peux les lister.

En tous cas, cette fonction php n'existe pas en natif.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

dans la discussion http://www.webmaster-hub.com/index.php?sho...findpost&p=3572

il était question d'une fonction

function enleve_accent($chaine){ 
 $chaine = strtr($chaine,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",  "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
 return $chaine;
 }
// Ensuite, le test :
$mot = "Général Agla&iumla";
echo  enleve_accent($mot);

que tu peux aisément modifier, et dont tu peux te resservir.

Lien vers le commentaire
Partager sur d’autres sites

Ooops désolé Antoine, il semble que je t'ai mis sur une mauvaise piste.

Mais si tu fais:

$chaîne = "idée";
$chaine_convertie = htmlentities($chaîne);

... tu obtiens bien: $chaine_convertie=="idée"

Je me disais qu'en traitant ensuite la chaine avec la fonction inverse html-entity-decode et en utilisant un jeu de caractères ignorant les caractères accentués il devait être possible d'obtenir "idee"... Visiblement à tort :blush:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...