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 :

Analyser contenu html [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Analyser contenu html
    Bonjour à tous,

    Voilà, je débute en php et je voudrais récupérer un tableau qui se trouve sur une page html distante, récupérer toute les valeurs pour les placer dans une table mysql et ensuite je n'aurais plus qu'a aller chercher les données dans ma table mysql pour les afficher sur mon site.

    Premièrement est ce possible ??

    donc j'essaie d'ouvrir la page via le , la pas de problème ensuite, je parcoure le fichier ligne par ligne pour rechercher la première ligne de mon tableau via voici ce que ça donne en code

    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
    18
    19
    20
    21
    <?php
     
     
    $file ="http://www.dhnet.be/dhsports/classification.phtml?serie_id=790&sp1_id=2095&sp2_id=2164&sp3_id=2158&pool_id=35959&class_id=8102615";
     
    $x=0;
    $fp = fopen("$file", "r");
     
    while (!feof($fp))
    {
    	$page .=fgets($fp, 4096);
    	$x=$x+1;
    	if (ereg ("<td bgcolor='#666666' width='100%' align='left' align='right'><font face='verdana, arial, helvetica' size='1' color='#ffffff'><b>&nbsp;</b></font></td>", $page)) 
    		{echo "Chaine trouvée en ligne $x";}
    	/*else
    		{echo "Chaine non trouvée";}*/
     
     
    }
     
    ?>
    Malheureusement il ne trouve tien du tout.
    Le problème vient peut-être du fait que dans la chaine que je recherche, il y a normalement des " que j'ai remplacé par des ', j'ai également essayé "" devant les valeurs mais cela ne fonctionne pas non plus!

    Deuxièmement est ce que j'utilise la bonne méthode ??

    D'avance merci à tous

    Bonne soirée

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut J'avance
    Me revoilà, je commence a avancer

    Voici mon code actuel :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
     
    $fp = fopen("http://maintenance.dhnet.be/dhsports/classification.phtml?serie_id=790&sp1_id=2095&sp2_id=2164&sp3_id=2158&pool_id=35959&class_id=8102615","r"); 
    while (!feof($fp))
    { 
    $page .= fgets($fp, 4096); 
    }
     
    $titre = eregi("<b>pts</b>",$page,$regs); 
     
    echo $regs[0];
    ?>
    <br>
    <?php
     
    if ($regs[0] = "pts")
    echo "C est la premiere ligne du tableau";
     
     
    fclose($fp);
     
    ?>
     
    <html>
    <head>
     
    </head>
     
    <body>
     
    </body>
    </html>
    Je parviens d'onc à trouver la première ligne de mon tableau !!
    Maintenant il faudrait que j'arrive à parcourir mon code à partir de la ligne trouvée sur 20 lignes et dans cette boucle je vais devoir récupérer la valeur qui se trouve entre les balise mais pour cela, je peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $val = eregi("<b>(.*)</b>",$page,$regs);
    je suppose ???

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Recherche masque
    Voilà, je cherche un masque qui me permettrait de trouver la valeur entre les 2 balises Voici un une petite partie du tableau dans lequel je dois rechercher les valeurs.

    J'ai déjà essayé plusieurs masques mais jusqu'à présent, rien ne fonctionne

    Voici une partie du tableau

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <tr>
            <td bgcolor="#666666" width="18" align="left" height="18"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>&nbsp;</b></font></td>
            <td bgcolor="#666666" width="100%" align="left" align="right"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>&nbsp;</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>J</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>G</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>P</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>N</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>p</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>c</b></font></td>
            <td bgcolor="#666666" width="25" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>pts</b></font></td>
            </tr>
            <tr>
            <td bgcolor="#999999" height="18" align="right"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>1.</b></font></td>
            <td bgcolor="#999999" align="left"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>&nbsp;Arc-en-C. B</b></font></td>
            <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>22</b></font></td>
            <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>20</b></font></td>
            <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>0</b></font></td>
            <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>2</b></font></td>
            <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>256</b></font></td>
            <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>96</b></font></td>
                    <td bgcolor="#999999" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>42</b></font></td>
                    </tr>
            <tr>
            <td bgcolor="#cccccc" height="18" align="right"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>2.</b></font></td>
            <td bgcolor="#cccccc" align="left"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>&nbsp;Ans A</b></font></td>
            <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>22</b></font></td>
            <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>18</b></font></td>
            <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>4</b></font></td>
            <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>0</b></font></td>
            <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>246</b></font></td>
            <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#ffffff"><b>106</b></font></td>
                    <td bgcolor="#cccccc" align="center"><font face="verdana, arial, helvetica" size="1" color="#cc3333"><b>36</b></font></td>
                    </tr>
    D'avance merci pour votre aide

    Bonne journée

  4. #4
    Membre éprouvé
    Avatar de thanathz
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Par défaut
    Salut !
    moi je dirais qu'il faut utiliser un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all("#<td[^>]*>(.*?)</td>#", $machaine, $regs);
    tout tes résultats stockés dans $regs
    Après il suffit de nettoyer le tout en virant <b> et </b>

    sinon, il y a celle là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       return (preg_match_all('/<td[^>]*>(.*?)<\/td>/si', $p_str, $regs)?$fstr=$regs[1]:$p_str);

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Merci
    Un grand merci pour ta réponse

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

Discussions similaires

  1. Analyse de site et de contenu html
    Par Ezenkiel dans le forum Langage
    Réponses: 0
    Dernier message: 31/01/2013, 13h45
  2. [RegEx] Analyser du contenu HTML
    Par yannick069 dans le forum Langage
    Réponses: 5
    Dernier message: 17/08/2009, 20h41
  3. [FLASH MX] Scrollbar et contenu Html externe
    Par efrenik dans le forum Flash
    Réponses: 9
    Dernier message: 21/08/2006, 16h39
  4. Moteur de recherche parcourant le contenu html
    Par BernardT dans le forum ASP
    Réponses: 3
    Dernier message: 10/07/2006, 09h26
  5. Contenu HTML + feuille CSS
    Par Invité dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/04/2006, 08h43

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