loadHTML(file_get_contents($url)); $dom->documentURI = $url; $divs = $dom->getElementsByTagName('div'); foreach ($divs as $div) { if ($div->hasAttribute('data-testid') && $div->getAttribute('data-testid') === 'product') { $xpath = new DOMXPath($dom); $tileItem = $xpath->query('.//img[contains(@class, "tile__item--1") and not(contains(@class, "badge")) and not(contains(@class, "tile_options")) and not(contains(@class, "tile__item--2"))]', $div); $tileDesc = $xpath->query('.//*[contains(@class, "tile__description") and not(contains(@class, "badge")) and not(contains(@class, "tile_options"))]', $div); $tileHeading = $xpath->query('.//*[contains(@class, "tile__heading") and not(contains(@class, "badge")) and not(contains(@class, "tile_options"))]', $div); $tilePrices = $xpath->query('.//*[contains(@class, "tile__prices") and not(contains(@class, "badge")) and not(contains(@class, "tile_options"))]', $div); $productHTML = ''; if ($tileItem->length > 0) { $productHTML .= $dom->saveHTML($tileItem->item(0)); } if ($tileDesc->length > 0) { $productHTML .= $dom->saveHTML($tileDesc->item(0)); } if ($tileHeading->length > 0) { $productHTML .= $dom->saveHTML($tileHeading->item(0)); } if ($tilePrices->length > 0) { $productHTML .= $dom->saveHTML($tilePrices->item(0)); } $html = $html . '