Str_replace pour un "é" [Résolu]

Signaler
Messages postés
4
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
9 mars 2009
-
jreaux62
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
-
Bonjour, j'ai besoin d'aide car j'y comprend rien à ce qui arrive dans ce cas là.

J'ai un fichier texte sur mon serveur nommée "text1.txt et je veux simplement remplacer les "é" par des "e".

Simple n'est-ce pas ? Ce code ci-bas fonctionne très bien avec tous les autres mot ou lettres comme si je veux remplacer un "b" par "fjslkd" et bien cela fonctionne mais pas pour le "é".

Je vois le "é" dans  mon texte et ce n'est pas un "é" que j'ai d'ailleur testé.

Vous voyez une solution ?

Merci bien !

$Fnm = "text1.txt";
 if (file_exists($Fnm)) {
 $inF = fopen($Fnm,"r");
 while (!feof($inF)) {
 $text1 = fgets($inF, 4096);
 $text2 = str_replace("é", "e", $text1);
 
 echo $text2;


}
fclose($inF);
}

2 réponses

Messages postés
4
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
9 mars 2009

Bon, après 4 heures de recherche j'ai trouvé. Merci de m'avoir lus !

$a = 'é';
$b = 'e';
$result2 = strtr($result2, utf8_decode($a), $b);
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
10
Tu peux utiliser une fonction de suppression des accents :

<?php
// ----------------------------------------------------------
// fonction de suppression des caracteres accentues
function noaccent($chaine) {
   $avecaccent = 
      "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝ
       àáâãäåçèéêëìíîïðòóôõöùúûüýÿ";
   $sansaccent = 
      "AAAAAACEEEEIIIIOOOOOUUUUY
       aaaaaaceeeeiiiioooooouuuuyy";
   $noaccent = strtr($chaine, $avecaccent, $sansaccent);
   return $noaccent;
}
?>

Puis l'utiliser comme suit :
<?php // ..............
$machaine = noaccent($machaine);
// ...........
?>