bisher verwaltet ive 2 Elemente von einer externen Website kratzen auf meiner Testseite: http://mt-cloud.co.uk/nhs/2 separate foreach Schleifen
(Bitte auf der Seite ein Testsuchergebnisse anzuzeigen)
$ch = curl_init('http://www.nhs.uk/service-search/GP/m410ux/Results/4/-2.35167407989502/53.4519462585449/4/0?distance=25');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$output = curl_exec($ch);
curl_close($ch);
$document = new DOMDocument;
libxml_use_internal_errors(true);
$document->loadHTML($output);
$document->encoding = 'utf-8';
$xpath = new DOMXPath($document);
$pnames = $xpath->query("//th[@class='fctitle']");
$addresses = $xpath->query("//td[@class='fcdetails fc-first']");
ich habe 2 foreach-Schleifen:
foreach ($pnames as $pname) {
$result1 = $document->saveHTML($pname);
}
foreach ($addresses as $address) {
$result2 = $document->saveHTML($address);
}
$ result1 = Name eines GP Praxis result2 $ = Adresse der GP Praxis
Wie Sie auf der Testseite sehen, sind meine Ergebnisse 1 und 2 getrennt..wie bekomme ich die, also habe ich Praxisname und Praxisadresse zusammen?
UPDATE (@Tri)
for($i = 0; $i < count($pnames); $i++){
$name= $document->saveHTML($pnames[$i]);
$name=str_replace ('<a href="/Services/', '<a href="http://www.nhs.uk/Services/', $name);
$address = $document->saveHTML($addresses[$i]);
echo $name.'<br>'.$address;
}
Gibt nur ein Ergebnis eher als all
Hier ist mein voller PHP-Code:http://mt-cloud.co.uk/nhs/content/code
Bild von Daten ich bin versuchen zu kratzenhttp://mt-cloud.co.uk/nhs/content/results.png
Was meinen Sie damit, dass _ $ result1 und $ result2 zusammen sind? Wie genau willst du sie zusammenführen? Und von dem, was ich sehen kann, sind Ihre 'foreach's nutzlos, weil Sie die Werte in' $ result1' und '$ result2' Variablen überschreiben und am Ende jeder Schleife haben Sie nur den Wert des letzten Elements in diesen Variablen – EhsanT
Der Link ist ein 404 an meinem Ende. Sie sollten eine * kleine * Stichprobe der Eingabedaten in die Frage einfügen. –
@EhsanT - Wenn ich zusammen sage, ich meine, es zeigt GP Practice Name (result1) und dann auf der nächsten Zeile GP Practice Address (result2) dann die Schleife auf die nächste. – itguyme