RSS / RDF von Netzeitung.de - Description weglassen

tefla

Erfahrenes Mitglied
Moin zusammen,

ich glaube ich habe ein wenig zuviel getrunken, aber ich schaffe es einfach nicht bei dem rdf / rss von der Netzeitung.de das Descriiption Tag rauszufiltern. Vielleicht kann mir ja jemand kurz helfen :o)

PHP:
$fcontents = join ('', file ('http://www.netzeitung.de/export/news/rss/titelseite.xml')); 
$fcontents = str_replace ("</item>", "", $fcontents); 
$fcontents = str_replace ("</link>", "", $fcontents); 
$fcontents = str_replace ("</description>", "", $fcontents); 
$splices = explode ("<item>", $fcontents); 
for ($i = 1; $i < count($splices); $i++){ 
	$link = explode("<link>",$splices[$i]); 
	$link[1] = strip_tags($link[1]); 
	$headline = str_replace ("<title>", "<a href=\"" . trim($link[1]) . "\" target=\"_blank\" class=\"heiseheadline\">", $splices[$i]); 
	$headline = str_replace ("</title>", "</a>", $headline); 
	$headline = explode ("<link>", $headline); 
	$headline = $headline[0]; 
	if($i < (count($splices)-1))
		print $headline." + "; 
	else
		print $headline;
}

Bei dem Code gibt er mir nach dem Link immer noch die Description des LInks mit an. Diese will ich aber nicht, ich will nur den title und den link.

Hab schon einiges probiert, kam aber nie zu dem gewünschten Ergebnis.

Ich nehme mal an das ihr noch etwas klarer wie ich denken könnt. *g*
 
Bitteschön ..
PHP:
<?php
  $fcontents = join ('', file ('http://www.netzeitung.de/export/news/rss/titelseite.xml'));
  preg_match_all("'<item>(.*?)<link>(.+?)</link>(.*?)</item>'is", $fcontents, $arMatches, PREG_SET_ORDER);
  for ($x = 0; $x < count($arMatches); $x++) {
    echo "<br>".$arMatches[$x][2];
  }
?>

Hier noch die erweiterte Version, fallst Du auch noch Beschreibung und Titel benötigst:
PHP:
<?php
  $fcontents = join ('', file ('http://www.netzeitung.de/export/news/rss/titelseite.xml'));
  preg_match_all("'<item>(.*?)<title>(.+?)</title>(.*?)<description>(.+?)</description>(.*?)<link>(.+?)</link>(.*?)</item>'is", $fcontents, $arMatches, PREG_SET_ORDER);
  for ($x = 0; $x < count($arMatches); $x++) {
    echo "<br>Titel: ".$arMatches[$x][2];
    echo "<br>Beschreibung: ".$arMatches[$x][4];
    echo "<br>Link: ".$arMatches[$x][6];
  }
?>

Vielleicht sollte man bei XML-Seiten XML-Funktionen benutzen. Mit denen habe ich mich allerdings noch nicht beschäftigt. Wenn also jemand eine andere Lösung parat hat, würde die mich auch interessieren :)

snuu
 
Zuletzt bearbeitet:
Merci snuu,

habs heute Nacht schon hinbekomme, war nur zu voll das noch ins Forum zu schreiben, hab es ähnlich wie du gemacht. Aber die Lösung ist sicher für viele andere auch hilfreich :o)

Ich glaub bei so kleinen Dinger ist es ziemlich egal, wie du dir die Daten rausparst. Bei großen XML Files empfiehlt sich gewiss die XML Funktionen, aber da hab ich im Moment auch kein Nerv mich damit zu befassen.
 
Zurück