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 :

post-traiter un intranet


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Par défaut post-traiter un intranet
    Bonjour,

    J'ai accès à un site Intranet qui m'affiche une liste d'article sous forme de tableau HTML. Je voudrais exporter la liste dans un fichier EXCEL (csv) mais je n'ai pas accès à la base de données ni au code source il faut donc que je post-traite le site :
    J'arrive à récupérer dans une chaine (string) le code de la page HTML désirée.
    Mais je voudrais l'épurer afin d'en extraire uniquement les infos qui m'intéressent :
    elles se trouvent entre des balises telles que :
    <p class="titre">article1</p>
    ...
    <td valign="top" class="description">

    je voudrais donc extraire de la chaine les blocs qui sont entre '<p class="titre">' et '<td valign="top" class="description">'
    ensuite il faudra que j'extraie, dans les chaines obtenue les informations qui m'intéresse (nom, description, prix) mais ca, je devrais y arriver une fois le premier problème surmonté.

    Bien sur j'ai déjà effectué pas mal de test (autour de stripos) et pas mal de recherche mais sans résultats.

    Pourriez-vous m'aider svp ?

  2. #2
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    bonsoir,

    généralement on utilise les expressions régulières et tout particulièrement les captures pour ce type de travail

    un peu de doc ici


  3. #3
    Membre éclairé Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Par défaut merci
    Merci de la réponse
    J'arrive à récupérer une valeur mais l'expression recherchée est présente un grand nombre de fois dans le fichier ... comment boucler ?

  4. #4
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    en utilisant les expressions PCRE et preg_match_all() tu trouveras ton bonheur



  5. #5
    Membre éclairé Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Par défaut qq chose comme ca ?
    preg_match_all("#<p class=\"titre\">(.*)</p>#U",$tampon,$out, PREG_SET_ORDER);
    echo $out[0][0] . ", " . $out[0][1] . "\n";

    ?

  6. #6
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    ton expression me parait correct.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $reg="#<p class=\"titre\">(.*)</p>#U";
    $toMatch="bla bla <p class=\"titre\">toto</p> bla <p class=\"autre\">tutu</p> bla bla <p class=\"titre\">titi</p> bla bla bla";
    echo "dans la phrase suivante : <blockquote>".htmlentities($toMatch)."</blockquote>";
    echo "je cherche le contenu des balises &lt;p class=\"titre\"&gt<br><hr>";
    preg_match_all($reg, $toMatch, $out, PREG_SET_ORDER);
    echo "<pre>";
    print_r($out);
    echo "</pre>";
    ?>

Discussions similaires

  1. Traiter une requête POST avec attachement
    Par queto_putito dans le forum Langage
    Réponses: 3
    Dernier message: 30/07/2007, 13h40
  2. Traiter requete POST
    Par lun4t1k dans le forum Langage
    Réponses: 1
    Dernier message: 28/04/2007, 17h30
  3. Réponses: 5
    Dernier message: 19/01/2007, 16h02
  4. traiter les requêtes POST avec le jsp
    Par youp_db dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/09/2006, 11h42

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