Problème accents

Résolu
cs_UltimeZirak Messages postés 4 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 3 février 2013 - 3 févr. 2013 à 00:19
cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 - 3 févr. 2013 à 14:43
Bonjour,

Je post ici car j'ai un problème pour enlever les accents sur un de mes script. J'ai crée une page qui permet la comparaison entre les mots envoyés par formulaires (ici la variable $a est récupérer depuis le formulaire) et les mots défini dans les variables comme $va et $va2. La page marche très bien sauf que ma fonction supprimer_accents ne veut pas les supprimer. J'ai essayer toutes les versions disponible et ça ne fonctionne toujours pas. Par contre quand j'essaie de remplacer le a par le e par exemple, ça fonctionne.

Pouvez vous m'aider.
Ps: Je suis sous Mac OS X.

Merci Sylvain

<?
$va =  'cavité';
&va2 = 'épiler';
$caa = strtolower($a);
$ca = supprimer_accents($caa); 
if ($ca==$va)
{$colora = "green"; $vrai++;}
elseif  ($ca==$va2)
{$colora = "green"; $vrai++;}
else 	
{$colora = "red" ; $fausse++;} 

echo 'Vous avez '.$vrai.' bonne réponses et '.$fausse.' mauvaise réponse.

  Vos réponses :   

01 :  '.$a.''.$ca.'
';

//fonctions
function stripAccents($string){
    $search  = array('á','à','â','ä','ã','å','ç','é','è','ê','ë','í','ì','î','ï','ñ','ó','ò','ô','ö','õ','ú','ù','û','ü','ý','ÿ','æ');
    $replace = array('a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u','y','y','ae');
    return str_replace($search,$replace,$string);
}
?>

3 réponses

cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 4
3 févr. 2013 à 02:27
Salut, j'ai trouvé ceci sur ce blog

<?php
function wd_remove_accents($str, $charset='utf-8')
{
    $str = htmlentities($str, ENT_NOQUOTES, $charset);
    
    $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
    $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. '&oelig;'
    $str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
    
    return $str;
}


stéph
3
cs_UltimeZirak Messages postés 4 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 3 février 2013
3 févr. 2013 à 14:39
C'est bon j'ai résolu mon problème, j'ai utiliser un pc windows et effectivement les lettres avec accents donnais pas la même chose sur le traitement de texte.

Merci.
0
cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 4
3 févr. 2013 à 14:43
Super, avec plaisir :)

stéph
0
Rejoignez-nous