[PHP] str_replace A n'y rien comprendre

Résolu
CaporalDead Messages postés 209 Date d'inscription   Statut Membre Dernière intervention   -  
CaporalDead Messages postés 209 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous !

Voilà mon ti soucis, ça fais quelques jours que je le traine avec moi :
j'ai sur un site en construction une page sur laquelle je peux saisir un texte (input type text) et un article dans une balise textarea (pour le moment). Le soucis est que sur la page qui réceptionne ces infos je n'arrive pas à traiter le titre.

Voilà ce qui marche et ce qui ne marche pas :

// dans mon exemple le titre récupéré est : "bonjour é è à ç ù"

$titre = str_replace(" ", "_", $titre); // Ca ca marche

// maintenant aucune de ces fonctions ne fonctionne !

$titre = strtr($titre,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY'); // Genere des A? A? A?

$accent = array("é","è","à","ù","ç");
$accent_rep = array("e","e","a","u","c");
$titre = str_replace($accent, $accent_rep, $titre); // Ne fait rien du tout !


Si quelqu'un à une idée ^^ Merci d'avance !
A voir également:

7 réponses

weetabix40 Messages postés 9583 Date d'inscription   Statut Contributeur Dernière intervention   1 724
 
Salut,
As tu essayé avec la fonction utf8_decode()
Cordialement,
Weet
0
CaporalDead Messages postés 209 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci !!! ^^. Et dire que la solution était quasiment sous mon nez :p

Résumé :

Je n'arrivais donc pas à changer mes lettres accentuées en lettres non accentuées. Il suffisait de décoder le texte en UTF-8 et hop le tour est joué ^^.
0
weetabix40 Messages postés 9583 Date d'inscription   Statut Contributeur Dernière intervention   1 724
 
Pas de problème... au plaisir ;)
Cordialement,
Weet
0
anon
 
à supposer que ça ne vienne pas d'un problème de charset, as tu essayé la syntaxe à 2 arguments de strtr ?

$tab_accent = array("é" => "e", "è" => "e", "à" => "a", "ù" => "u", "ç" => "c");
echo strtr($titre, $tab_accent);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CaporalDead Messages postés 209 Date d'inscription   Statut Membre Dernière intervention   6
 
vi rien ne marchait ;)
0
anon
 
tout ça laisse penser quil y a ptet un soucis au niveau des charsets.

regardes si tu ne peux pas t'en sortir avec les fonctions htmlentities et html_entity_decode
https://www.php.net/manual/fr/function.htmlentities.php
https://www.php.net/manual/fr/function.html-entity-decode.php
0
CaporalDead Messages postés 209 Date d'inscription   Statut Membre Dernière intervention   6
 
Ouai merci mais sinon ça marche trés bien avec utf8_decode().
0