begin process at 2012 05 28 12:09:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Aide Domdocument parser un tableau html precis


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Aide Domdocument parser un tableau html precis

samedi 19 février 2011 à 09:08:26 | Aide Domdocument parser un tableau html precis

nunoonline

bonjour

pouvez vous me dire s'il est possible (avec DomDocument et php) de recuperer les données presentes uniquement dans les tableaux ayant pour class='tableauOK' sachant que:
- le nb de tableaux ayant pour class='tableauOK' peut varier
- le nb de tableaux ayant pour class="SYSTEM" peut aussi varier


ci dessous le code html à parser et le debut de code
mais je ne vois pas comment faire pour recuperer les données que des tableaux avec class='tableauOK'.
On m'a parle de DOMXPath mais je ne vois pas comment faire
merci pour votre aide
NR


Code HTML :
<table id="tab" class="SYSTEM" cellpadding="0" cellspacing="0">
<thead>	
<tr>
<th>N</th><th>Name</th><th>Results</th>
</tr>
</thead>
<tbody>
<tr class="info">
 <td class="num"><a href="/page/menu.html?id=98">1</a></td>
 <td><a href="/page/menu.html?id=78"><span>TEST1</span></a></td>
 <td><a href="/page/menu.html?id=7798">value=1</a></td>
</tr>
<tr class="info">
 <td class="num"><a href="/page/menu.html?id=9">5</a></td>
 <td><a href="/page/menu.html?id=8"><span>TEST2</span></a></td>
 <td><a href="/page/menu.html?id=98">value=7</a></td>
</tr>
<tr class="info">
 <td class="num"><a href="/page/menu.html?id=9">789</a></td>
 <td><a href="/page/menu.html?id=9"><span>TEST3</span></a></td>
 <td><a href="/page/menu.html?id=900">value=77</a></td>
</tr>
</tbody>
</table>

<table class='tableauOK' border='0' cellpadding='0' cellspacing='0' id='TableOK'>
<thead>
<tr><th width='8px'>DATE</th><th width='400px'>VALUE</th><th>STATUS</th></tr>
<tr>	
  <td style='text-align:center'><strong>06/01/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=71'>x=12</a></td>		
  <td><strong>ok</strong></td>	
</tr>
<tr>	
  <td style='text-align:center'><strong>07/02/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=22'>x=1230</a></td>		
  <td><strong>NO</strong></td>	
</tr>  
<tr>	
  <td style='text-align:center'><strong>01/02/2010</strong></td>	
  <td><strong><a href='/TEST/page.html?id=7'>x=11</a></td>		
  <td><strong>OK</strong></td>	
</tr>   
</table>

<table class='tableauOK' border='0' cellpadding='0' cellspacing='0' id='TableOK'>
<thead>
<tr><th width='8px'>DATE</th><th width='400px'>VALUE</th><th>STATUS</th></tr>
<tr>	
  <td style='text-align:center'><strong>16/03/2009</strong></td>	
  <td><strong><a href='/TEST/page.html?id=761'>x=16</a></td>		
  <td><strong>ok</strong></td>	
</tr>
<tr>	
  <td style='text-align:center'><strong>12/01/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=220'>x=2</a></td>		
  <td><strong>NO</strong></td>	
</tr>  
<tr>	
  <td style='text-align:center'><strong>01/01/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=8'>x=1100</a></td>		
  <td><strong>NO</strong></td>	
</tr>   
</table>


<table class='tableauOK' border='0' cellpadding='0' cellspacing='0' id='TableOK'>
<thead>
<tr><th width='8px'>DATE</th><th width='400px'>VALUE</th><th>STATUS</th></tr>
<tr>	
  <td style='text-align:center'><strong>16/02/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=761'>x=15</a></td>		
  <td><strong>ok</strong></td>	
</tr>
<tr>	
  <td style='text-align:center'><strong>12/02/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=220'>x=1000</a></td>		
  <td><strong>NO</strong></td>	
</tr>  
<tr>	
  <td style='text-align:center'><strong>01/02/2011</strong></td>	
  <td><strong><a href='/TEST/page.html?id=7'>x=1100</a></td>		
  <td><strong>OK</strong></td>	
</tr>   
</table>


Code PHP :
<?php

/*** a new dom object ***/ 
$dom = new domDocument; 
 
/*** load the html into the object ***/ 
//$dom->loadHTML($html); 
@$dom->loadHTMLFile($html); 

/*** discard white space ***/ 
$dom->preserveWhiteSpace = false; 

 /*** the table by its tag name ***/ 
$tables = $dom->getElementsByTagName('table'); 

/*** get all rows from the table ***/ 
$rows = $tables->item(0)->getElementsByTagName('tr'); 

/*** loop over the table rows ***/ 
foreach ($rows as $row) 
{ 
   /*** get each column by tag name ***/ 
   $cols = $row->getElementsByTagName('td'); 
   /*** echo the values ***/ 
   echo $cols->item(0)->nodeValue.'<br />'; 
   echo $cols->item(1)->nodeValue.'<br />'; 
   echo $cols->item(2)->nodeValue; 
   echo '<hr />'; 
} 
?>
Code PHP :
dimanche 27 février 2011 à 10:57:10 | Re : Aide Domdocument parser un tableau html precis

LDDL

Bonjour,

Moi j'analyserai chaque ligne pour dédecter la 1ere balise <table>
http://fr2.php.net/manual/fr/function.fgets.php

puis ces fonctions te pemetront de récuperer tes données.

http://fr2.php.net/manual/fr/function.strip-tags.php

http://fr2.php.net/manual/fr/function.str-word-count.php


Cette discussion est classée dans : code, ok, html, tableaux, echo


Répondre à ce message

Sujets en rapport avec ce message

probleme avec un tableaux (ou est l'erreur??) [ par h2h ] salut tout le monde, jai un probleme avec ce tableaux.. en fait ce tableaux affiche bien ce ke je veu mai le prob cest kil décale tout d'une ligne ce help me : formulaure HTML / PHP [ par tici86 ] Bonjour, Petit problème j ai mon formulaire ci dessous , dans un fichier php et un html. Mais y a un hic, je ne reçois pas le message envoyé. Si qu vous trouvez ça blague mé soyez sur que c vrai !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [ par khalilo2y ] [b]salut tout le monde j'utilise un code php pour uploader des images dans un dossier avatars ... ok c ça[/b] [b]la balise du fichier file nommé avat comment fait on pour insérer du code HTML dans un textarea ? [ par MEHDI1643 ] je veux insérer le code html dans un champs textarea, suivant l'action de utilisateur dans une liste le modéle html s'affiche dans la champ textarea Boucle calendrier [ par shadow578 ] Bonjour, Voilà je réalise un calendrier jusqu'à là tout vas bien. Maintenant je voudrais rajouter dans mon calendrier des évenements ou la date est i Remplacer les https par des liens dans du code html [ par cyberastuces ] Bonjour, Je suis confronté à un problème, en effet je doit remplacer les adresses http:// en lien cliquable dans du code html quand celles-ci ne les Authentification http sous free. [ par sitedenicolas ] Bonjour ! Je recherche un script d'authentification http en php (ne me parlez pas de .htaccess SVP) Du genre ce code ci-dessous : [code=php]<?php fu $_POST et tableau [ par Canyata ] Bonjour à tous, J'ai une question très bête à vous poser :s Voila je me demande si je donne à un tableau un attribut name: [code=php]echo""; ... ec Enregistrement de 2 variables dans un cookie [ par duff31 ] Bonjour Je suis débutant en php et j'ai un probleme au niveau des cookies. En effet je voudrais via mon formulaire enregistrer dans le cookie le log Conserver la valeur d'un select après une validation [ par Lindaweb ] Bonjour tout le monde, Je débute dans la programmation sous PHP et je suis confronter à un problème que je n'arrive pas à résoudre malgré plusieurs t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,934 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales