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 :

Analyser du texte non XML


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Analyser du texte non XML
    bonjour,

    j'ai l'habitude de parser des fichiers XML avec simplexml_load_file , mais là j'ai besoin de parser un fichier très inhabituel pour moi.

    voici à quoi ressemble le fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.google.ac.h(["can",[["canon 50d","","0"],["canon s90","","1"],["canon cameras","","2"],["canon 5d mark ii","","3"],["canon xsi","","4"],["canon rebel","","5"],["canon rebel xsi","","6"],["canon 5d","","7"],["canon 40d","","8"],["canon powershot","","9"]],"","","","","",{}])
    dans l'idéal j'aurais besoin de mettre tout ce qui est entre guillemets dans un tableau, mais uniquement concernant le contenu entre [[ et ]].

    j'aurai besoin de récupérer les données suivantes:
    item[0] = canon 50d
    item[1] = canon s90
    item[2] = canon cameras
    etc

    ça sent l'expression régulière à plein nez mais j'ai un peu de mal.
    merci.

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonsoir,

    est ce que cette regex est assez pointue dans ton cas de figure ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chaine = 'window.google.ac.h(["can",[["canon 50d","","0"],["canon s90","","1"],["canon cameras","","2"],["canon 5d mark ii","","3"],["canon xsi","","4"],["canon rebel","","5"],["canon rebel xsi","","6"],["canon 5d","","7"],["canon 40d","","8"],["canon powershot","","9"]],"","","","","",{}])';
     
    preg_match_all('#\"(canon(.)*)\"#Usi', $chaine, $matches);

    Les éléments se trouvent dans $matches[1]

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/03/2006, 16h43
  2. probleme lors de l'analyse d'un flux xml sous asp
    Par jlassira dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/07/2005, 14h01
  3. [XSD] element texte non parsé
    Par bulbo dans le forum Valider
    Réponses: 13
    Dernier message: 10/01/2005, 11h44
  4. [Débutant]RichEdit => Rendre le texte non sélectionnable
    Par Runlevel dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/12/2004, 23h47
  5. [StringBuffer] Texte non pris en entier
    Par GLDavid dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 07/05/2004, 16h37

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