AntoineI Posté 23 Août 2004 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
Jan Posté 23 Août 2004 Posté 23 Août 2004 Bonjour et bienvenue sur le forum, Tu devrais trouver ton bonheur avec la fonction htmlentities
AntoineI Posté 23 Août 2004 Auteur 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
MaximuS Posté 23 Août 2004 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.
AntoineI Posté 23 Août 2004 Auteur 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
MaximuS Posté 23 Août 2004 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.
AntoineI Posté 23 Août 2004 Auteur 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
Anonymus Posté 23 Août 2004 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.
Jan Posté 23 Août 2004 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
AntoineI Posté 24 Août 2004 Auteur Posté 24 Août 2004 Merci Anonymous, ta solution est parfaite ! :-) Pas grave Jan ;-) Antoine
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant