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

Bibliothèques et frameworks PHP Discussion :

[DOM] Boucle sur les titres hi d'un document xhtml


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    conception et traitement de documents xhtml
    Inscrit en
    Août 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : conception et traitement de documents xhtml
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2011
    Messages : 107
    Par défaut [DOM] Boucle sur les titres hi d'un document xhtml
    Bonjour,

    Comment puis-je définir en DOM ou DOM + Xpath une boucle prenant en compte tous les titres h1, h2, h3... d'un document xhtml dans l'ordre dans lequel ils sont placés, indépendamment de leur hiérarchie ? (Par exemple h1, h2, h3, h3, h3, h2, h3, h3, h1...)


    Grand merci d'avance

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Fais un XPath :

    //h1|//h2|//h3|//h4|//h5|//h6

  3. #3
    Membre confirmé
    Homme Profil pro
    conception et traitement de documents xhtml
    Inscrit en
    Août 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : conception et traitement de documents xhtml
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2011
    Messages : 107
    Par défaut
    Merci Séb pour ta réponse.

    Effectivement, c'est la solution la plus simple, compte tenu du faible nombre de niveaux de titre prévus (je n'utilise jamais plus de 5 niveaux).

  4. #4
    Membre confirmé
    Homme Profil pro
    conception et traitement de documents xhtml
    Inscrit en
    Août 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : conception et traitement de documents xhtml
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2011
    Messages : 107
    Par défaut
    Bonjour,

    Petite difficulté cependant :

    Si j'effectue la recherche sur tout le document,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "//h1|//h2|//h3|//h4|//h5";
    titles = $doc_xpath -> query($query);
    je récupère bien tous les titres.

    Si par contre, j'effectue la recherche sur une div contenant le document principal,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "div[@id = 'Document']//h1|//h2|//h3|//h4|//h5";
    $titles = $doc_xpath -> query($query);
    j'obtiens les titres à partir seulement de h2.

    Comment dois-je libeller $query pour que tous les titres de la div soient vus ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div[@id = 'Document']//*[self::h1|self::h2|self::h3|self::h4|self::h5|self::h6]

  6. #6
    Membre confirmé
    Homme Profil pro
    conception et traitement de documents xhtml
    Inscrit en
    Août 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : conception et traitement de documents xhtml
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2011
    Messages : 107
    Par défaut
    Merci Stealth

    J'ai toujours grand plaisir à voir répondre le Maître !

    Malheureusement la solution que tu proposes ne semble pas fonctionner : aucun titre n'est sélectionné.

    Il semble que c'est la transition div[@id = 'Document']//* (et plus généralement div[@id = 'Document']//quelque chose) qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "div[@id = 'Document']//*";
    ne sélectionne aucun noeud.

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

Discussions similaires

  1. boucle sur les répertoires
    Par salseropom dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 15/06/2007, 01h59
  2. boucle sur les champs dynamiques
    Par Anduriel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/06/2006, 19h49
  3. [C#] Boucle sur les controles
    Par stailer dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/05/2006, 08h48
  4. Macro sur Excel/Boucle sur les lettres
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/11/2005, 11h56

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