IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lecture/transformation de mon fichier texte [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 20
    Points
    20
    Par défaut Lecture/transformation de mon fichier texte
    Bonjour, j'ai un fichier qui ressemble à ceci :

    [start]
    501#
    Description [ blabla ]
    Categorie : blabla
    #
    2299#
    Description [ blabla ]
    Classe : [[ blabla ]]
    Categorie : test
    Theme : ** blabla **
    #
    [eof]

    Chaque numéro correspond à un objet, chaque ligne entre les # correspond à la description de l'objet + sa classification. Il y a plusieurs milliers de lignes avec plusieurs milliers d'objets.

    Le titre de chaque objet est rangé dans une base mysql avec le numéro correspondant.

    Je souhaite transformer ce fichier en xml pour l'exploiter/intégrer par la suite dans la base de donnée.

    Sachant que ce fichier est mis à jour par une autre personne, je souhaite automatiser le traitement / transformation du fichier.

    Auriez-vous des idées pour réduire à maximum les étapes de traitement ?

    Plusieurs obstacles :

    1/ le numéro de chaque objet varie entre 3 et 4 caractères.
    2/ les attributs de chaque objet (classe, desc, theme) peuvent aller jusqu'à 7
    3/ il peut y avoir plusieurs lignes selon les attributs (2 lignes pour desc par exemple)

    Je ne suis pas très familier avec le php, donc tous les conseils et même lignes de codes sont les bienvenues !!

    Merci d'avance, j'reste dispo pour d'éventuelles précisions.

    Charlysquare

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Tu pourrais utiliser quelque chose comme ceci (premier jet) :

    <?php

    $source_file
    = file_get_contents('1.txt');
    preg_match_all("/([0-9]+)#[\n\r]*description(.*)(?:classe :(.*))?categorie :(.*)(?:theme :(.*))?#/Usi", $source_file, $matches, PREG_SET_ORDER);

    echo
    '<pre>';
    print_r($matches);
    echo
    '</pre>';

    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    Merci, je vais tester ça

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    preg_match_all("/([0-9]+)#[\n\r]*description(.*)(?:classe : (.*))?categorie : (.*)(?:theme : (.*))?#/Usi",
    Re,

    Serait-il possible de m'éclairer sur le placement des parenthèses et des points d'interrogation, si par exemple je veux ajouter une catégorie supplémentaire je vais un truc dans le genre (?:cat2 .*)) ?

    Merci d'avance

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    C'est bon, j'ai epluché les tutoriaux sur les regex, j'ai compris le sens des parenthèses ;=)

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/10/2008, 11h43
  2. Réponses: 8
    Dernier message: 10/12/2007, 13h50
  3. lecture/écriture dans un fichier texte
    Par the watcher dans le forum Delphi
    Réponses: 23
    Dernier message: 15/05/2007, 10h57
  4. [XSLT] transformation xml vers fichier .text !
    Par kader78190 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/11/2006, 12h45
  5. [VB.NET]Problème de lecture et écriture sur fichier texte
    Par zouhib dans le forum Windows Forms
    Réponses: 25
    Dernier message: 23/05/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo