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] utilisation de loadHTML


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Par défaut [DOM] utilisation de loadHTML
    Bonjour

    J'ai besoin de transformer un fichier html contenant une grosse liste de liens en liste xml pour pouvoir m'y référer plus facilement par la suite avec du javascript( jquery). Je fais donc un loadHTML, puis je recherche les Tags "a".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $dom = new domDocument ;
    $dom->loadHTML(file_get_contents($source."/".$file)) ;
     
    $listeLiens = $dom->getElementsByTagName('a');
    foreach($listeLiens as $lien) {
    	$this->contenu .=  "<lien " ;
    	$this->contenu .=  ' ref= "'.$lien->getAttribute("href") . '"';
    	$this->contenu .=  ' titre="'.htmlspecialchars (trim($lien->firstChild->nodeValue)) . '"';
    	$this->contenu .=  " />\n" ;
    }

    Tout celà fonctionne, mais je rencontre les problèmes suivants :

    1) à l'exécution, php renvoie un avertissement
    "Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: Tag titre invalid in Entity, line: 4 in D:\WEB\baseDoc\moteur\fabIndexXML.php on line 40"
    2) pour certains liens, j'ai besoin de récupérer des éléments situés en amont du lien pour compléter mon titre. Comment accéder à l'élément précédent dans le DOM ?


    Merci si vous pouvez m'éclairer !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Par défaut
    1) L'avertissement était dû à une balise "propriétaire" contenue dans les docs html <titre>...</titre>

    2) Pour récupérer les noeuds frères placés au dessus : $lien->previsousSibling


    J'ai désormais d'autres problèmes, mais ceux-ce sont résolus !

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

Discussions similaires

  1. [DOM] utiliser une fonction
    Par leaemile dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/08/2007, 12h38
  2. [DOM] Utilisation d'Xpath
    Par Yoshio dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 23/08/2007, 14h33
  3. [DOM] Utilisation de removeChild
    Par sylsau dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/01/2006, 10h31
  4. [DOM] Utilisation de l'API DOM pour créer du HTML sous IE
    Par pedouille dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2006, 14h48

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