Hallo Leute,
Entschuldige, wenn ich noch mal mit einem wahrscheinlich dummen Problem komme. Ich habe jetzt das sr-online-abholen in eine function gepackt um mir dann den Inhalte der description zurückgeben zu lassen. Offenbar mache ich etwas falsch oder habe was nicht kapiert beim "return".
<?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)) { $rueckgabe = $node2->nodeValue; ## Das verstehe ich hier sowieso nicht: Bei return ist foreach() zuende. ## Und wofür benötigst Du den Zähler? return $rueckgabe; } } } ?>
Wenn ich vor dem return den Inhalt von $rueckgabe ausgeben lasse, ist alles drin, nach dem Aufrufen der Funktion ist nichts drin.
srholen ('http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-1.html',$zaehler); echo $rueckgabe;
Woran kann denn das liegen?
Hier sollte es wohl besser heißen:
$rueckgabe = srholen ('http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-1.html',$zaehler);
echo $rueckgabe;
oder auch in einem Schritt gleich
echo htmlspecialchars(srholen ('http://www.sr-online.de/sronline/nachrichten/hoerfunknachrichten/hoerfunknachrichten_aktuell100~_seite-1.html',$zaehler));
Tschüss
TS