Page 1 sur 1

Recherche ds un fichier texte

Posté : 09 févr. 2006, 15:34
par i974
Bonjour

voilà je voudrais creer un script pour analyser un fichier texte, et repertorier les informations.

par exemple dans le fichier j'aurais:
[12:30:29] Vous venez de tuer [Nom] !

voilà, je souhaiterai recuperer ce qu'il y a entre crocher, mais d'autres crochets sont présents.

Quelles solutions s'offrent à moi ?

Ce que j'ai fait pour l'instant,
ouvrir le fichier,
le lire et tout mettre ds une variable,
faire un explode sur la chaine avec les '\n'

du coup, maintenant j'ai un tableau, mais je ne sais pas comment l'analyser...

Quelqu'un pourrait m'orienter un peu ?
j'ai cru comprendre qu'il fallait utiliser la fonction eregi(), mais j'ai du mal a comprendre sont fonctionnement...

Posté : 09 févr. 2006, 15:53
par VaN
tu essaie de développer un parser de log pour MMORPG ?

Posté : 09 févr. 2006, 15:57
par i974
:D
bah je me suis dis que ce se serait une bonne methode pour m'entrainer avec les fichiers .TXT !

(ce sont les logs de Dark Age Of Camelot que je souhaiterai analyser)

Posté : 09 févr. 2006, 17:15
par titerm
il faut avoir une idée du format général des messages que tu veux analyser...

Ensuite avec une regexp, tu peux isoler les champs que tu souhaites...

ca, par exemple, ca capture toute chaine entre crochet...
$ligne="[12:30:29] Vous venez de tuer [Nom] avec une [hache]! ";
preg_match_all("!\[([^\]]+)]!",$ligne,$res);
var_dump($res[1]);

Code : Tout sélectionner

array(3) { [0]=> string(8) "12:30:29" [1]=> string(3) "Nom" [2]=> string(5) "hache" }

Posté : 10 févr. 2006, 14:05
par i974
où puis trouver un tuto ou une doc fournit sur l'utilisation des arguments...
preg_match_all("!\[([^\]]+)]!",$ligne,$res);
en effet je met perd ds ces crochets ces circonflexe et c +...
et je crois que c ca qui me pose le plus de probleme