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 :

Analyse d'un tableau


Sujet :

Langage PHP

Vue hybride

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

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut Analyse d'un tableau
    Bonjour,

    J'ai beau developper depuis de nombreuses années je ne sais pas par quel bou prendre ce développement :
    - je recupere des fichiers html, contenant du texte et surtout des tableaux
    - dans ces tableaux il y a des infos que je dois recupérer
    - pour que l'administrateur de mon dev puisse modifier facilement la recherche et recupération je me suis dit :
    - il prend le code source de l'HTML, il remplace toutes les données variables par un truc genre {POUBELLE} et il remplace là ou il ya des valeurs à récuperer par le nom de la valeur {valeur1},{valeur2},...
    - enfin si ce sont des lignes dont la quantité est inconnu, il met juste avant le TD et apres le /TD un truc genre {ligne} {/ligne}
    - ce code source devient une sorte de template inverse, qui sert à "lire" par "calque" les fichiers recus...

    Enfin il faut donc programmer une fonction qui sache interpreter ce "calque".. mais là je seche, je vois pas trop comment faire ...
    Peut etre ou même surmeent cela existe mais impossible de trouver dans Google une code source ou un algo qui ressemble à ce que je cherche...

    Quelqu'un a une idée ?? je passe peut etre a coté d'une solution super simple ou d'un truc existant...

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    perso j'ai un peu du mal... fin de journée... :s

    Tu voudrais pas nous montrer un petit "avant - après" de ce que tu reçois et ce à quoi tu voudrais arriver stp ? (un truc court pour pas qu'on se perdre :p)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    Citation Envoyé par darkstar123456 Voir le message
    perso j'ai un peu du mal... fin de journée... :s

    Tu voudrais pas nous montrer un petit "avant - après" de ce que tu reçois et ce à quoi tu voudrais arriver stp ? (un truc court pour pas qu'on se perdre :p)
    Ok.

    Alors imaginons qu'un des fichiers que j'analyse soit comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <html>
    <body>
    bla bla bla
    Ref Client: GL232
    <table>
    <tr><td>couleur</td><td>ref</td></tr>
    <tr><td>rouge</td><td>af001</td></tr>
    <tr><td>bleu</td><td>ze002</td></tr>
    </table>
    </body>
    </html>
    un autre c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html>
    <body>
    bla bla bla
    Ref Client: GP998
    <table>
    <tr><td>couleur</td><td>ref</td></tr>
    <tr><td>vert</td><td>wf004</td></tr>
    <tr><td>bleu</td><td>po003</td></tr>
    </table>
    Bla bla encore...
    </body>
    </html>
    Donc j'imaginais la redaction d'un template de lecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html>
    <body>
    {poubelle}
    Ref Client: {ref_client}
    <table>
    <tr><td>couleur</td><td>ref</td></tr>
    <tr><td>{couleur}</td><td>{ref}</td></tr>
    <tr><td>{couleur}</td><td>{ref}</td></tr>
    </table>
    {poubelle}
    </body>
    </html>
    ainsi la fonction via le template sait ou lire les infos dans les pages et les recueperes sous forme de variables ou d'array...

    Est-ce plus comprehensible ?

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Mauvaise méthode... comment veux-tu dire au PHP qu'après un texte X il doit trouver ce qu'un cerveau humain en déduirait ?

    Essaye plutot t'attribuer des attributs name / id / class aux différentes balises et là tu travailleras avec le DOM

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    Citation Envoyé par darkstar123456 Voir le message
    Mauvaise méthode... comment veux-tu dire au PHP qu'après un texte X il doit trouver ce qu'un cerveau humain en déduirait ?

    Essaye plutot t'attribuer des attributs name / id / class aux différentes balises et là tu travailleras avec le DOM
    les fichiers HTML sont trop fluctuant

    j'ai trouvé un début de solution avec la class Snoopy et également une class htmlsql qui permet de "requeter" en syntaxe SQL pour lire des données dans un fichier HTML

    Par contre reste l'algo a faire, qui est ma demande de départ.
    Du genre :
    1) nettoyage de la page HTMl en enlevant tout ce qui est "poubelle", dans mon exemple c'est relativement simple :
    - recherche du premier tag poubelle, lecture des x caracteres d'avant jusqu'au début du fichier ou jusqu'à une variable, idem pour x caracteres apres
    - supression de ce qui se trouve entre ces deux bornes
    2) recup des variables :
    - même principe que pour le tag poubelle mais à l'inverse, on stock la donnée entre les deux balises

    La class htmlsql permettant d'utiliser desregexp on doit pouvoir donc "jokeriser" genre si le <td> est en fait un <td class='col'>

    tu vois le raisonnement ? je crois que j'en suis pas loin, suite à la lecture de l'usage de snoopy et htmlsql, ca donne des idées....

  6. #6
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    non je ne comprends pas comment dans plusieurs fichiers différents tu peux arriver à dire "ceci c'est de la poubelle" "ceci j'en ai besoin mais qu'est-ce que c'est ?"

    Ou alors j'ai encore rien compris et tous les fichiers ont le même template :s

Discussions similaires

  1. [Tableaux] Analyser un tableau HTML
    Par laughingman dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2007, 15h13
  2. Réponses: 2
    Dernier message: 11/04/2007, 19h25
  3. Réponses: 5
    Dernier message: 16/03/2007, 15h44
  4. requête sql + tableau d'analyse
    Par heteroclite dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/09/2006, 15h11
  5. outil d'analyse d'un tableau
    Par giova_fr dans le forum MFC
    Réponses: 3
    Dernier message: 06/09/2005, 22h16

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