"e", "&Ecute;" => "E", "à" => "a" ... $str = preg_replace('#&([A-za-z])(?:acute|grave|cedil|circ|orn|ring|slash|th|tilde|uml);#', '\1', $str); // Remplacer les ligatures // Exemple "œ" => "oe" $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // Supprimer tout le reste $str = preg_replace('#&[^;]+;#', '', $str); return $str; } $fichier="../../data/testCitations.txt"; $handle=fopen($fichier,"r"); $content=fread($handle,filesize($fichier)); $split=explode("\n",$content); //on separe pour chaque saut de ligne $i=0; $citation=""; //string pour récupérer la citation $matrice = array(); //matrice qui pour chaque ligne va contenir le nom de l'auteur - la source - la date - la citation $colonneMatrice=0; $ligneMatrice=0; foreach ($split as $motCourant){ if(stristr($split[$i],'—')){ //on sait que cest la ligne de l'auteur $colonneMatrice=0; $string1 = stristr($split[$i], '—'); //ne recupere que la ligne ou il y a — $split1= explode(",",$string1); //separe la ligne au niveau des virgules $j=0; foreach($split1 as $motCourant){ //affichage avec la séparation au niveau des virgules. if($j==0){ // si cest l'auteur alors on enleve les accents et on met en majuscules $split1[$j] = strtoupper(suppr_accents($split1[$j])); //enleve accents et met en MAJ $matrice[$ligneMatrice][$colonneMatrice] = $split1[$j]; //echo $matrice[$ligneMatrice][$colonneMatrice]; $colonneMatrice++; } else{ // sinon affichage normal if($j==1){ if((preg_match("#^[\" \"][^p]#",$split1[$j]))) $matrice[$ligneMatrice][$colonneMatrice] = $split1[$j]; } else{ $split1[$j] = suppr_accents($split1[$j]); //echo $split1[$j]; //"#^[^p][(]?[\" \"]?[1|2|3]?[1-9]?[\" \"]?[JAN|FEV|MAR|AVR|MAI|JUI|AOU|SEP|OCT|NOV|DEC]{0,1}[a-zA-Z]*[^p]?[\" \"]?[1|2]?[0-9]{3}[)]?#i" if(preg_match("#^[\" \"|\"\"][^p][(]?[\" \"]?[1|2|3]?[1-9]?[\" \"]?[JAN|FEV|MAR|AVR|MAI|JUI|AOU|SEP|OCT|NOV|DEC]{0,1}[a-zA-Z]*[^p]?[\" \"]?[1|2]?[0-9]{3}[)]?#i", $split1[$j])){ $matrice[$ligneMatrice][$colonneMatrice] = $split1[$j]; } //fin regex else{ $matrice[$ligneMatrice][$colonneMatrice] = null; } } //echo $matrice[$ligneMatrice][$colonneMatrice]; $colonneMatrice++; } $j++; }//fin foreach $ligneMatrice++; } /* ?>