Remplacer les caractères accentués PHP
loic_farge
Messages postés
6
Statut
Membre
-
Akronos Messages postés 163 Statut Membre -
Akronos Messages postés 163 Statut Membre -
Bonjour,
Je suis sur un projet sous le Zend Framework et je n'arrive pas à remplacer les caractères accentués par des caractères non-accentués malgré toutes les sources trouvées sur le net.
Voici mon code:
$firstname = utf8_decode($user->getFirstName());
$accents = array('À','Á','','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
$sans = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O', 'U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
$firstname = str_replace($accents, $sans, $firstname);
echo $firstname;
Merci d'avance pour votre aide.
Je suis sur un projet sous le Zend Framework et je n'arrive pas à remplacer les caractères accentués par des caractères non-accentués malgré toutes les sources trouvées sur le net.
Voici mon code:
$firstname = utf8_decode($user->getFirstName());
$accents = array('À','Á','','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
$sans = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O', 'U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
$firstname = str_replace($accents, $sans, $firstname);
echo $firstname;
Merci d'avance pour votre aide.
A voir également:
- Remplacer les caractères accentués PHP
- Remplacer disque dur par ssd - Guide
- Caractères spéciaux - Guide
- Remplacer word - Guide
- Caracteres speciaux - Guide
- Caractères ascii - Guide
1 réponse
Bravo !
Bon allez je me désinscris de ce site. Et ça se dit développeur.
Personnellement, je suis manager dans le développement d'applications PHP et je suis en train de bosser sur le Framework Zend avec ma team.
Il faut que jeunesse se fasse.
Quand on pose une question, c'est qu'on a déjà fait des recherches avant ne crois-tu pas.
Dans mon cas, c'est pour un souci avec Zend_Search_Lucene et crois bien que les fonctions strtr, str_replace, preg_replace sont déjà passées à l'action ...
Allez!
On va allez s'inscrire sur un site anglophone où on a des gens compétents.
A+ et félicitation pour ta vitesse de recherche sur Google.
Tu bosse pour quelle entreprise ?
Bon allez je me désinscris de ce site. Et ça se dit développeur.
Personnellement, je suis manager dans le développement d'applications PHP et je suis en train de bosser sur le Framework Zend avec ma team.
Il faut que jeunesse se fasse.
Quand on pose une question, c'est qu'on a déjà fait des recherches avant ne crois-tu pas.
Dans mon cas, c'est pour un souci avec Zend_Search_Lucene et crois bien que les fonctions strtr, str_replace, preg_replace sont déjà passées à l'action ...
Allez!
On va allez s'inscrire sur un site anglophone où on a des gens compétents.
A+ et félicitation pour ta vitesse de recherche sur Google.
Tu bosse pour quelle entreprise ?
Excuse moi de pas deviner ton si haut savoir en lisant:
$firstname = utf8_decode($user->getFirstName()); $accents = array('À','Á','','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ'); $sans = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O', 'U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y'); $firstname = str_replace($accents, $sans, $firstname);Le fait que tu sois sous Zend Framework n'insinue pas que le problème viens de Zend_Search_Lucene, donc précise le et ça t'éviteras de voir des trucs du genre: strtr.
Et pour répondre à ta question, l'entreprise ne fait pas le développeur, c'est le développeur qui fait l'entreprise. Bonne chance pour ton problème et bonne chance avec les anglophones.
Remplacer les accents par leur équivalent ASCII: FOPNCTIONNE AVEC ZEND FRAMEWORK
ici ils ont même mis le logo de Zend
Et à priori, on t'a pas appris à faire une recherche monsieur parfait programmeur...
$string = trim($string);
if ( ctype_digit($string) ) {
return $string;
}
else {
// replace accented chars
$accents = '/&([A-Za-z]{1,2})(grave|acute|circ|cedil|uml|lig);/';
$string_encoded = htmlentities(utf8_decode($string));
$string = preg_replace($accents,'$1',$string_encoded);
// clean out the rest
$replace = array('([\40])','([^a-zA-Z0-9-])','(-{2,})');
$with = array('-','','-');
$string = preg_replace($replace,$with,$string);
}
return strtolower($string);
}
@Akronos : ce n'est pas la réponse à ma question que je critique mais la remarque totalement inutile: 3s de recherche sur Google et on trouve la réponse. Et ben non. Sache que les gens ne sont pas aussi stupides et qu'avant de poser une question, ils font comme tout le monde: GOOGLE.
Allez a+