Bonjour,
Je me prends la tête depuis un paquet d'heure avec XPath pour récupérer les informations contenu sur une page HTML.
J'ai une page HTML contenant une table (page de la FFTA donc pas moyen de la modifier )
et je voudrais récupérer le <lien_à_récupérer> dans la 4ème balise <td> uniquement pour un n° de licencié donné.
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
34
35 <table border="1" class="orbe3 full clmt keep-heights no-hover" style="margin-bottom: 1em;"> ... <tbody> ... <tr> <td class="ac" > <img src="..." title="Pré-inscrition non terminée" /> </td> <td ></td> <td class="ac" >22</td> <td class="al" style="..." > <a class="open-modal" href="<lien_à_récuperer>" title="Consultation du palmarès d'un archer" rel="dialog" rev="800x400" data-term><n° du licencié></a> </td> <td class="al" style="font-weight: bold;" > <a class="open-modal" href="..." title="Consultation du palmarès d'un archer" rel="dialog" rev="800x400" data-term>...</a> </td> <td class="al" > <span data-term>...</span> </td> <td class="al" > <span data-term>...</span> </td> <td class="ac" >...</td> <td class="ac" >...</td> <td class="ac" >...</td> <td class="ac" style="font-weight: bold;" >...</td> <td class="ar" style="font-weight: bold;" > <a href="..." target="_blank" style="text-decoration: none"> <img src="..." alt="Préinscrire" /> </a> </td> </tr> ... </tbody> </table>
J'ai réussi à afficher le n° de licencié mais par le <lien_à_récupérer> avec ce code :
la variable $url_Palmares reste vide...
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 $dom = new DOMDocument(); @$dom->loadHTML($strFIL_contenu); $xpath = new DOMXPath($dom); $liste_noms = $xpath->query('//table[@class="orbe3 full clmt keep-heights no-hover"]/tbody/tr'); $nombre_de_noms = $liste_noms->length; echo $nombre_de_noms; for($i = 0; $i < $nombre_de_noms; $i++) { $td = $liste_noms->item($i); foreach ($td->childNodes as $value) { if ($value->nodeValue == "<n° du licencié>") { $index = $i; var_dump($value); } } } $strXpath = '//table[@class="orbe3 full clmt keep-heights no-hover"]/tbody/tr['. (intval($index) + 1) .']/td'; $xPath_srch = $xpath->query($strXpath); $num_Licence = $xPath_srch->item(3)->nodeValue; $url_Palmares = $xPath_srch->item(3)->attributes(0); echo $num_Licence . " : " . $url_Palmares . "<br>";
Une petite aide ne serait pas de trop , merci d'avance.
Partager