Bonjour,
J'ai pu me débrouiller.
Cependant, je rencontre un dernier soucis, j'ai besoin de récupérer la valeur du SRC de toutes les images de DIV (1 page HTML avec une dizaine de DIV).
Le soucis est que ces images peuvent ou non être entourée d'un<a></a>, ce qui fait que si j'utilise la position absolu avec xpatch, je vais récupérer soit les uns, soit les autres, mais pas toutes.
Voici un bout de code HTML que je récupère :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <div class="small_fiche_article">
<div class="col_img">
<img src="images/img_no_pict.jpg" alt="">
</div>
<div class="col_info_tec">
<p class="titre"><a class="princ" href="/fr/1201/capot-et-thermostat-psa-1-1-1-4-essence">CAPOT ET THERMOSTAT PSA 1.1 / 1.4 essence</a></p>
<p><span>Référence : </span>2215</p>
</div>
</div>
<div class="small_fiche_article">
<div class="col_img">
<a href="contenu/images/intfradis5e2b111596efa.jpg"><img src="contenu/thumb-images/intfradis5e2b111596efa.jpg" title="2223 - CAPOT ET THERMOSTAT RENAULT" alt="2223 - CAPOT ET THERMOSTAT RENAULT"></a> </div>
<div class="col_info_tec">
<p class="titre"><a class="princ" href="/fr/1203/capot-et-thermostat-renault">CAPOT ET THERMOSTAT RENAULT</a></p>
<p class="sve green">1,2 essence</p><p class="sve">Clio depuis 96 / Kangoo / Twingo</p> <p><span>Référence : </span>2223</p>
</div>
</div> |
Et voici le code PHP que j'ai coder :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| $html = "".$_POST['url']."";
$doc = new DomDocument();
$doc->loadHTMLFile($html);
$xpath = new DomXpath($doc);
$elements = $xpath->query("//div[@class='small_fiche_article']");
$incrementation = 0;
$var_sortie_pompage = "";
foreach ($elements as $element) {
$titre1 = $xpath->query("//div[@class='col_info_tec']/p[@class='titre']", $element);
$titre2 = $xpath->query("//div[@class='col_info_tec']/p[@class='sve green']", $element);
$titre3 = $xpath->query("//div[@class='col_info_tec']/p[@class='stitre']", $element);
$ref = $xpath->query("//div[@class='col_info_tec']/p[last()]", $element);
$str_replace_ref = str_replace("Référence : ", "", "".$ref->item($incrementation)->textContent."");
$photo = $xpath->query("//div[@class='col_img']/img/@src", $element);
$complete_url_photo = "".$photo->item($incrementation)->textContent.""; // VARIABLE CONTENANT L'SRC DE CHAQUES IMAGES
} |
Comme je l'ai dit,je récupère l'SRC de mes images via la requête
$photo = $xpath->query("//div[@class='col_img']/img/@src", $element);
Elle va fonctionner uniquement sur les images qui ne sont pas précédée d'une <a>, sinon je dois faire $photo = $xpath->query("//div[@class='col_img']/a/@href", $element); mais du coup les images sans balise <a> je les récupère plus............
Merci
Partager