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 :

Importer du HTML (arboescence) dans un Array


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Points : 55
    Points
    55
    Par défaut Importer du HTML (arboescence) dans un Array
    Bonjour, je souhaite importer les bookmarks firefox dans une base de données, en utilisant PHP.

    J'ai un fichier bookmarks.html (exporté depuis firefox) qui contient grosso modo des balises DL/DT, A et H1, H2, H3... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <DT><A HREF="file:///Users/vincent/Desktop/FRANCECITEVISION/Vince/site%20v2/index.html"
    ADD_DATE="1260191007" LAST_MODIFIED="1260191046">Nouveau (bleu)</A>
     
    <DT><A HREF="http://www.google.fr/cse/manage/all" ADD_DATE="1260179717" ICON_URI="http://www.google.com/favicon.ico"
     
    ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADRUlEQVQ4jSXT60/VdQDH8c/vd7AlI4EHtjW0WCs1i7U2i8u54GWxYDVtpkabumX5JLs86oLYEgRDQjAIBbsYayTmCjDQMwsrtcgxUBdWkNyyJDkCB9jRw+/8vu8e8OD9D7y2tyTJiUFX/wipWxuJe/pzSo9fwiVGNDzB2ewsei0xa9u4Eq5sIpYYl5AkxRwwwLriU2hTEHtbFwte/I6//p0CEyPyWy/XE+JxJYzlwbVExBIhxTFkCwE4jsMDO9rRtk60vQfl/0jxN5fBgInBUE4OUVnEPCJqWUzKw5glBiVkXCAG3sIO7M0/Y2/vxH7hHJv2dwMOAFfXr2NGcWAJVx6mLfGPRJ/tQeACLkVNl9H6IHEvXcB+/nvyqzpxMXAbfnloGT/dcwctS5JpT02mK2kew7botYT6h29igNFwhGU72tBzp1mwOUiw5xoGqGs5zOI3UtFH6Xhq/ajay/yyJ8h6OY19DyeipVs+43jHFXANE1NRjpwZoG/kJi6GklN1qOgRPPVePIeyUG06qs3EOpCFqrOx9q5GCzceJWntx6x+vZE9DR1zajic6fsV+6370OHHUV06qk/HqvFh1fhQZQZWuR9rbwAtzW9g0YYvuDPvU5KfOsTgaBhjDMOhayypfxbVpGEfzMQ+6EU1GdgferEq/djlflSWge7P3U/Glk/Y+G4rr1X9QE/fOC4Gg8vY1Bg5R1/BqkhDtT5U7Z2r0o/2+dEeP2o8fZGxcRcDzE72Mnq1mYGeWm5N3wBgNuaQ2/gqVsVyVJ2BqrzY5ZnofR8q8SFcmP7vIt3NGQw2x/N3mxj52uZK03LCoT/BxPh9dIi7SrNRVSaeD3zYZX5UEkC7A+i2M0NXYzoT3wpz3sY5G0+kYz43jon+5jyMMZgYPHhgAypbgSq8qNTPvN1rsHYF0FRogD8aUrgVTCIcTGCqLZHJ1kRmTqRw/atHITpNxDEsLslDpZnYJatQqQ/7vZVopx85McPgya2EvkxgsuVuwq0LmTmRQvjYvYyfK8QATRdO4nnzMaxiL56ibLQrgAoC6J01c0c6MyHGzhcy0b6WcMuTTLQ/Q6S7mqgT4dLwAIvezkUFK7ALs1HhSrTThwpWIUn/A1g/hnpCRmiJAAAAAElFTkSuQmCC">
    Recherche personnalisée Google</A>
    Je cherche une bibliothèque PHP ou un moyen simple pour transformer facilement ce fichier en Array, avec tous les liens.

    Par exemple, la première case de mon tableau serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $liens[0]['HREF']	= 'file:///...';
    $liens[0]['ADD_DATE']	= '1260191007';
    $liens[0]['HREF']	= 'Nouveau (bleu)';
    ?>
    Je connais la POO sous PHP, ça ne me pose pas de problème.

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut utiliser une expression réguliere et preg_match()

  3. #3
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    J'opterais plutot pour l'utilisation de XSLT, ton code ressemble à un code XML valide.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Avec DOM ? Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $liens = array();
    $dom = new DomDocument;
    $dom->loadHTML(str_replace('&', '&amp;', file_get_contents('C:/bookmarks.html')));
    foreach ($dom->getElementsByTagName('a') as $lien) {
        $current = array('NAME' => $lien->nodeValue);
        if ($lien->hasAttribute('href')) {
            $current['HREF'] = $lien->getAttribute('href');
        }
        if ($lien->hasAttribute('add_date')) {
            $current['ADD_DATE'] = $lien->getAttribute('add_date');
        }
        $liens[] = $current;
    }
     
    echo '<pre>';
    print_r($liens);
    echo '</pre>';

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Points : 55
    Points
    55
    Par défaut
    @julp : merci, j'ai pas encore testé mais c'était exactement ce genre de chose que je cherchais (un truc qui transforme mon document en arbre, un peu comme en JavaScript.

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    En l'occurence le code ci-dessus ne construit pas un arbre mais bien une liste.

Discussions similaires

  1. Importation tableau html dans fichier .csv ou excel
    Par ritavsky dans le forum VB.NET
    Réponses: 4
    Dernier message: 31/05/2010, 11h04
  2. Debutant: html contenu dans array()
    Par Zoomer dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/04/2010, 18h35
  3. Importer data HTML dans mon appli ?
    Par omarter dans le forum VB.NET
    Réponses: 6
    Dernier message: 20/05/2007, 13h16
  4. [FLASH 8] import d'HTML dans Flash
    Par costa dans le forum Flash
    Réponses: 2
    Dernier message: 29/09/2006, 09h50
  5. importé une page HTML locale dans JSP !
    Par abd21 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/06/2006, 11h01

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