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 :

Extraire toutes les parties incluses entre deux <div> [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut Extraire toutes les parties incluses entre deux <div>
    Bonjour

    Je débute un peu en tout et tout particulièrement en Regex. Je me suis documenté et j ai vu que (.*) permettait de détecter tous les caractères mais peut être (surement) je ne l utilise pas comme il se doit...

    Je cherche à faire une regex pour extraire toutes les parties incluses entre deux <div class="table">

    J'essaie ici https://regex101.com/r/v3YlSJ/3 et j arrive à trouver toutes les parties <div class="table"> mais pas ce qu il y a après ...

    J ai tenté avec <div class="table">(.*)<div class="table"> mais cela ne retourne rien...

    J ai besoin de votre aide.

    Merci

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 888
    Points : 6 632
    Points
    6 632
    Par défaut
    Pour batailler avec du html (ou du xml) on utilise pas les regex mais le DOM (les classes DOMDocument et ses copines).

  3. #3
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    J ai bien essayé avec ça https://simplehtmldom.sourceforge.io...ction_traverse mais en suivant la doc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // find all span tags with class=gb1
    foreach($html->find('span.gb1') as $e)
        echo $e->outertext . '<br>';
    je retourne un tableau vide en faisant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $html->find('div.table') as $e);
    d'où mon idée de me trouner vers les regex...

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 888
    Points : 6 632
    Points
    6 632
    Par défaut
    Ça doit être possible avec simpleHTMLDom, mais je ne vois pas pourquoi utiliser cette bibliothèque (qui n'est pas si simple d'ailleurs) alors que PHP a déjà tout ce qu'il faut. Testé sur ta page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    libxml_use_internal_errors(true);
     
    $dom = new DOMDocument;
    $dom->loadHTMLFile('laval.html');
     
    $xp = new DOMXPath($dom);
     
    $tables = $xp->query('//div[@class="table"]');
     
    foreach($tables as $table) {
        echo $dom->saveHTML($table), "\n\n###########\n\n";
    }

  5. #5
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    je ne vois pas pourquoi utiliser cette bibliothèque (qui n'est pas si simple d'ailleurs) alors que PHP a déjà tout ce qu'il faut
    Parce que je débute et que j ai simplement cherché simple parser html php dans google et que j ai cliqué sur le premier lien qui s affichait...

    Merci pour ta réponse, je vais approfondir cela...

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 21/04/2016, 12h52
  2. test champs email avec une image pour bouton de validation
    Par becouet dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 23h17
  3. Problème avec une RegEx
    Par Death83 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 26/05/2006, 14h03
  4. [Excel] fonction SOMME.SI avec une cellule pour critère
    Par repié dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/03/2006, 17h39
  5. Réponses: 2
    Dernier message: 17/10/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