AntoineI Posté 23 Août 2004 Partager Posté 23 Août 2004 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 More sharing options...
Jan Posté 23 Août 2004 Partager Posté 23 Août 2004 Bonjour et bienvenue sur le forum, Tu devrais trouver ton bonheur avec la fonction htmlentities Lien vers le commentaire Partager sur d’autres sites More sharing options...
AntoineI Posté 23 Août 2004 Auteur Partager Posté 23 Août 2004 (modifié) 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é 23 Août 2004 par AntoineI Lien vers le commentaire Partager sur d’autres sites More sharing options...
MaximuS Posté 23 Août 2004 Partager Posté 23 Août 2004 Tiens donc, je connais ce sujet... oui , mon blog l'a bien connu : http://blog.webchaman.com/billet-58.html J'èspère que ça t'aidera à comprendre un peu. Lien vers le commentaire Partager sur d’autres sites More sharing options...
AntoineI Posté 23 Août 2004 Auteur Partager Posté 23 Août 2004 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 More sharing options...
MaximuS Posté 23 Août 2004 Partager Posté 23 Août 2004 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 More sharing options...
AntoineI Posté 23 Août 2004 Auteur Partager Posté 23 Août 2004 Dommage .... mais tant pis ! Je vais devoir lister tout à la main, ce qui n'est pas une fin en soi, mais un peu fastidieux... il ne faut pas oublier de caractères... Antoine Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 23 Août 2004 Partager Posté 23 Août 2004 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ïa";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 More sharing options...
Jan Posté 23 Août 2004 Partager Posté 23 Août 2004 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
AntoineI Posté 24 Août 2004 Auteur Partager Posté 24 Août 2004 Merci Anonymous, ta solution est parfaite ! :-) Pas grave Jan ;-) Antoine Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant