Analyser un fichier txt

narfight Messages postés 129 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 4 mars 2010 - 26 déc. 2003 à 23:48
floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006 - 28 déc. 2003 à 18:40
voici ce que le fichier a dans le ventre
#add 'user'
dell all
#end
#add 'alert'
il en a pas
#end
voici le code qui l'analyse
$get_rsql = @fread(@fopen($file, 'r'), @filesize($file));
eval(preg_replace('#\#add \'(.*)\'(.*)\#end#', "\n".'$block[\'\\1\'] = \'\\2\';', $get_rsql));
comme c'est la, ca ne veut pas marcher, il a comme erreur : Parse error: parse error, unexpected T_STRING

mais si le fichier à analyser est de cette forme
#add 'user'dell all#end
#add 'alert'il en a pas#end
ca marche sans probléme.
en quoi des retours à la ligne peuvent foutrent la merde et comment y remédier ?

3 réponses

narfight Messages postés 129 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 4 mars 2010
26 déc. 2003 à 23:51
désoler pour le message, mais pas moyen de faire apercu ni de supprimer le poste :-(
le voici en claire (sans bbcode)
------------------------------------
voici ce que le fichier a dans le ventre
Citation:
#add 'user'
dell all
#end
#add 'alert'
il en a pas
#end


voici le code qui l'analyse
$get_rsql = @fread(@fopen($file, 'r'), @filesize($file));
eval(preg_replace('#\#add \'(.*)\'(.*)\#end#', "\n".'$block[\'\\1\'] = \'\\2\';', $get_rsql));


comme c'est la, ca ne veut pas marcher, il a comme erreur : Parse error: parse error, unexpected T_STRING

mais si le fichier à analyser est de cette forme
#add 'user'dell all#end
#add 'alert'il en a pas#end

ca marche sans probléme.
en quoi des retours à la ligne peuvent foutrent la merde et comment y remédier ?
0
XSimpson Messages postés 31 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 7 octobre 2004
27 déc. 2003 à 22:00
Les retours à la ligne ne font aucun problème, c'est votre manière de programmer qui fait des problèmes !!
Parce que les ingénieurs ont fait que pour les langages facil à utiliser par des amateurs (moi) il y a des raccourcis utiles, à chaques fois qu'on revient à la ligne cela revient à aire un ;
Donc voici un exemple de script qui MARCHE:
#add 'user'dell all#end;#add 'alert'il en a pas#end;
Tout simplement grace aux ; qui disent: fin de ligne!
C'est tout
Voilà
0
floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
28 déc. 2003 à 18:40
si t'es le fichier texte a été créé sous windows, le retour a la ligne n'est pas \n (ca c'est pour linux)
sous windows, c'est \r\n ou \n\r (je sais plus mais je pense que c'est le premier :))
0
Rejoignez-nous