Nettoyer un fichier TXT
malabarbe
Messages postés
136
Statut
Membre
-
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
Comment en PHP, supprimer d'un fichier texte
les caractères en code exa : '0a' et '0d' ?
Comment en PHP, supprimer d'un fichier texte
les caractères en code exa : '0a' et '0d' ?
1 réponse
-
Bonjour,
Il suffit de le parcourrir (lire), transformé ta donnée en Héxa suite à la lecture.
Tu parcours ensuite ta chaine de caractère en Héxa, si tu rencontre un caractère non souhaité, tu ne fais rien, sinon tu écris le caractères dans un nouveau fichier (que tu as ouvert)
Exemple de lecture :$fp=fopen($fichier,"r" ); $contenu=fread($fp,filesize($fichier)); // --- Si ton fichier d'origine n'est pas en héxa, tu le converti comme suit : // --- ### $contenu_hexa=""; $z = strlen($contenu); for($i=0;$i<$z;$i++) $contenu_hexa .= sprintf('%X',ord($contenu{$i})); // --- ### // --- Reste à parcourir ta chaine Héxa et faire une comparaison caractère par caractère for($i=2;$i<strlent($contenu_hexa;$i+2){ $char = substr($contenu_hexa,$i-2,$i); if ( $char != "0a" && $char != "0d" && $char != "0A" && $char != "0D" ){ // --- écriture dans fichier de sortie } }
C'est juste un exemple, il y a certainement mieux pour le faire, mais au moins ça te met sur la piste.