exploitation fichier txt

ViPHP
ViPHP | 1961 Messages

21 déc. 2006, 18:52

Re,

Réfléchis un peut à ce que tu fais.

Tu initialise une variable $content avec des points et tu demandes dans cette même variable de remplacer des choses qui n'existent pas.

Que crois-tu qui se passe ???
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

21 déc. 2006, 19:03

la variable $content contient le contenu initial de mon fichier avecretourchariot.txt. J'ai mis des ....... pour représenter le contenu du fichier dont le lien se trouve au début de ce post.

ViPHP
ViPHP | 1961 Messages

21 déc. 2006, 19:06

Re,

Même, ton fichier est chargé dans un tableau, non?

Je ne vois pas de boucle, c'est normal ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

21 déc. 2006, 19:21

ben le fichier ne devrait pas être dans un tableu si je le lis avec file_get_contents qui renvoie une chaine.
A partir de la j'ai pensé qu'une boule n'était pas nécessair pour parcourir tous les caractères. Je veux juste enlever tous les \n du fichier, sans enlever les \t\t\n. ça veut dire que ma fonction de remplacement ne doit pas remplacer \n s'il est précédé de \t\t, mais uniquement s'il est isolé

Invité
Invité n'ayant pas de compte PHPfrance

21 déc. 2006, 19:42

voici un autre essai qui ne marche pas non plus, avec preg_replace au lieu de str_replace:
//chaines utilisées pour les remplacements
$ttn="\\t\\t\\n";
$zzz="\\z\\z\\z";
$t="\\t";

//les mêmes chaines au format motif d'expression rég.
$ttn_expression="/\\t\\t\\n/";
$zzz_expression="/\\z\\z\\z/";
$n_expression="/\\n/";

//mes opérations de remplacement
preg_replace($ttn_expression , $zzz, $content);
preg_replace($n_expression ,$t, $content);
preg_replace($zzz_expression, $ttn, $content);

$fichier=fopen('fichier.txt','w+'); 
fputs($fichier, $content);
fclose($fichier);

J'ai bien un nouveau fichier qui est créé et rempli avec $content, mais le contenu est identique à mon fichier initial alors que tous les \n devrait avoir été remplacés par \t, sauf les \n qui sont dans la chaine \t\t\n.

Invité
Invité n'ayant pas de compte PHPfrance

21 déc. 2006, 23:42

personne ne sait comment remplacer des caractères de tabulation dans un fichier txt?

ViPHP
ViPHP | 1961 Messages

22 déc. 2006, 05:52

Bonjour,
personne ne sait comment remplacer des caractères de tabulation dans un fichier txt?
Tu vas te faire taper sur les doits ! Les up sont interdis sur PHPFrance

Tu devrais avant tout t'assurer que ce sont bien des "\t" et des "\n".

Si j'ai bien compris tu est sous Windows, donc ce que tu dis ne me semble pas correct, tu devrais avoir aussi de "\r".

Prends la première ligne (complète - correspondant à un enregistrement), sort-la dans un fichier à part.

Crée un petit script PHP qui te sort les caractères et le code ASCII associé à chacun.

Pour le faire utilise les fonctions ord() et chr().
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

22 déc. 2006, 13:14

Finalement j'ai trouvé ce qui n'allait pas. Il suffistait de mettre les fonctions dans des variables.
$var=preg_replace() par exemple.
Merci pour ton aide.