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 :

Parsing de fichier POT [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Par défaut Parsing de fichier POT
    Bonjour,
    Voila je possede un fichier POT generé par xgettext, et je souhaiterai isoler les elements concernant chaque clé, un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Content-Transfer-Encoding: 8bit\n"
     
    #: TestController.php:346
    msgid "test"
    msgstr ""
     
    #: ToolsController.php:152
    msgid "toto"
    msgstr ""
    Dans un premier temps, je voudrai donc chaque clé dans une case differente, pour cela je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $var = preg_match("|\n\n(.*)\n\n|s", $var, $tabfind);
             var_dump($tabfind);
    Cela ne fonctionne pas, en fait ca detecte bien le double saut de ligne comme separateur, mais ca me met tout ensemble ( les 2 bloques l'un en dessous de l'autre au lieu de les avoir separé ).

    Si quelqu'un voit comment faire, merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Ben oui, parce que l'affichage obtenu résulte de l'affichage de

    \n\n#: TestController.php:346\nmsgid "test"\nmsgstr ""\n\n#: ToolsController.php:152\nmsgid "toto"\nmsgstr ""\n\n





    Il ne faut pas fonder une capture sur des caractères '\n' dans le texte analysé
    , c'est trop aléatoire. Si la source change un tant soit peu au niveau de ces caractères, ça peut donner n'importe quoi.



    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "|#: ToolsController.php:\d+\nmsgid \"(.*?)\"\nmsgstr \"(.*?)\"\n|"
    le groupe 1 contiendra la valeur de msgid et le groupe 2 contiendra la valeur de msgstr

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Par défaut
    Ha oui en effet, je comprends mon erreur, mais finalement j'ai changé de function, j'ai opté pour un explode

    Merci

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

Discussions similaires

  1. Parsing de fichier XML en C
    Par longbeach dans le forum XML
    Réponses: 12
    Dernier message: 12/12/2006, 16h31
  2. Parsing gros fichier performant ?
    Par jaggy19 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 09/11/2006, 13h11
  3. parsing de fichier texte
    Par robert_trudel dans le forum Access
    Réponses: 4
    Dernier message: 03/06/2006, 17h45
  4. [DOM] [DocumentBuilder] Problème de parsing de fichier
    Par tck-lt dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 13/04/2006, 17h18
  5. Parsing de fichier en C++ : Au secours :(
    Par Triqueur dans le forum C++
    Réponses: 4
    Dernier message: 16/02/2006, 14h49

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