Hallo
Danke Danke Danke!
Du solltest aber auch auf TS' Frage, die er in deinen Quelltext einfügte, antworten.
## Das verstehe ich hier sowieso nicht: Bei return ist foreach() zuende. ## Und wofür benötigst Du den Zähler?
Deine Funktion riecht ganz stark danach, für jeden der Teaser einen eigenen Funktionsaufruf durchzuführen und damit für jeden Teaser das Dokument erneut zu parsen.
Ich hatte die Frage übersehen, angesichts der (erfreulich) vielen Reaktionen ja auch nicht verwunderlich. Ich habe das Ganze jetzt ohnehin erst in eine Funktion gepackt, vorher stand das alles jeweils untereinander, ABER leider stehen die Teaser - Texte ja auf verschiedenen Seiten, so dass die Funktion jeweils eine neue Seite parsen muss. Das sieht jetzt so aus:
<?php function srholen ($url, $zaehler)
{
$data = file_get_contents($url);
$meta = '<?xml encoding="UTF-8" ?'.'>' . "\r\n";
$dom = new DOMDocument('1.0', 'utf-8');
$dom->encoding = 'utf-8';
$dom->validateOnParse = true;
$dom->strictErrorChecking = true ;
$dom->preserveWhiteSpace = true;
$dom->loadHTML($meta . $data);
$xPath = new DOMXPath($dom);
foreach ($xPath->query('//div/p') as $node2) {
if (($zaehler <= 10)&& ($node2->nodeValue !== '') && ($node2->nodeValue !== NULL)){
$array[$zaehler] = $node2->nodeValue;
return $array[$zaehler];
}
}
}
?>
und im HTML wir das so aufgerufen:
<?php
$zaehler=0;
$array[$zaehler] = srholen ('http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-1.html',$zaehler);
$zaehler++;
$array[$zaehler] = srholen ('http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-2.html', $zaehler);
$zaehler++;
$array[$zaehler] = srholen ('http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-3.html', $zaehler);
$zaehler++;
usw.
Ich bin mit sicher, auch das geht noch eleganter, auf jeden Fall werden so die Teasertexte zusammengeholt und in ein array gepackt, später dann links und titles von der Indexseite und zusammen ausgegeben...
Gruß glupto