1
Hallo Jörg,
vielleicht kannst du mir auch dieses Mal helfen! Ich verzweifel an folgendem Script ( /*-Angabe bewusst belassen!):
Es gibt mir aber, egal was ich versuche, nur folgendes, jeweils auf /”‘.['link'].’” verlinkt, aus:
Bin ich blind/doof, oder legt sich der Feed quer?
Danke für jede Hilfe
Grüße
Andreas
vielleicht kannst du mir auch dieses Mal helfen! Ich verzweifel an folgendem Script ( /*-Angabe bewusst belassen!):
<?php
/*
Nutzung dieses Scripts nur gestattet, wenn Kommentare (PHP und HTML) nicht gelöscht werden, oder ein Link zu folgender Adresse gesetzt wird:
URL: http://www.web-spirit.de/webdesign-tutorial/7/RSS-Feed-auslesen-mit-PHP
Beschreibung: RSS Feed auslesen mit PHP
Autor: Sebastian Gollus
Internet: http://www.web-spirit.de
Version: 1.0.200905
*/
// Funktionsaufruf z.B.: getRssfeed("http://www.voelklingen-im-wandel.de/nachrichten/feed","web-spirit","auto",3,3);
function getRssfeed($rssfeed, $cssclass="", $encode="auto", $anzahl=10, $mode=0)
{
// $encode e[".*"; "no"; "auto"]
// $mode e[0; 1; 2; 3]:
// 0 = nur Titel und Link der Items weden ausgegeben
// 1 = Titel und Link zum Channel werden ausgegeben
// 2 = Titel, Link und Beschreibung der Items werden ausgegeben
// 3 = 1 & 2
// Zugriff auf den RSS Feed
$data = @file($rssfeed);
$data = implode ("", $data);
if(strpos($data,"</item>") > 0)
{
preg_match_all("/<item.*>(.+)<\/item>/Uism", $data, $items);
$atom = 0;
}
elseif(strpos($data,"</entry>") > 0)
{
preg_match_all("/<entry.*>(.+)<\/entry>/Uism", $data, $items);
$atom = 1;
}
// Encodierung
if($encode == "auto")
{
preg_match("/<?xml.*encoding=\"(.+)\".*?>/Uism", $data, $encodingarray);
$encoding = $encodingarray[1];
}
else
{$encoding = $encode;}
echo "<!-- RSS Feed Script von Sebastian Gollus: http://www.web-spirit.de/webdesign-tutorial/7/RSS-Feed-auslesen-mit-PHP -->\n";
echo "<div class=\"rssfeed_".$cssclass."\">\n";
// Titel und Link zum Channel
if($mode == 1 || $mode == 3)
{
if(strpos($data,"</item>") > 0)
{
$data = preg_replace("/<item.*>(.+)<\/item>/Uism", '', $data);
}
else
{
$data = preg_replace("/<entry.*>(.+)<\/entry>/Uism", '', $data);
}
preg_match("/<title.*>(.+)<\/title>/Uism", $data, $channeltitle);
if($atom == 0)
{
preg_match("/<link>(.+)<\/link>/Uism", $data, $channellink);
}
elseif($atom == 1)
{
preg_match("/<link.*alternate.*text\/html.*href=[\"\'](.+)[\"\'].*\/>/Uism", $data, $channellink);
}
$channeltitle = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $channeltitle);
$channellink = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $channellink);
echo "<h1><a href=\"".$channellink[1]."\" title=\"";
if($encode != "no")
{echo htmlentities($channeltitle[1],ENT_QUOTES,$encoding);}
else
{echo $channeltitle[1];}
echo "\">";
if($encode != "no")
{echo htmlentities($channeltitle[1],ENT_QUOTES,$encoding);}
else
{echo $channeltitle[1];}
echo "</a></h1>\n";
}
// Titel, Link und Beschreibung der Items
foreach ($items[1] as $item) {
preg_match("/<title.*>(.+)<\/title>/Uism", $item, $title);
if($atom == 0)
{
preg_match("/<link>(.+)<\/link>/Uism", $item, $link);
}
elseif($atom == 1)
{
preg_match("/<link.*alternate.*text\/html.*href=[\"\'](.+)[\"\'].*\/>/Uism", $item, $link);
}
if($atom == 0)
{
preg_match("/<description>(.*)<\/description>/Uism", $item, $description);
}
elseif($atom == 1)
{
preg_match("/<summary.*>(.*)<\/summary>/Uism", $item, $description);
}
$title = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $title);
$description = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $description);
$link = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $link);
echo "<p class=\"link\">\n";
echo "<a href=\"".$link[1]."\" title=\"";
if($encode != "no")
{echo htmlentities($title[1],ENT_QUOTES,$encoding);}
else
{echo $title[1];}
echo "\">";
if($encode != "no")
{echo htmlentities($title[1],ENT_QUOTES,$encoding)."</a>\n";}
else
{echo $title[1]."</a>\n";}
echo "</p>\n";
if($mode == 2 || $mode == 3 && ($description[1]!="" && $description[1]!=" "))
{
echo "<p class=\"description\">\n";
if($encode != "no")
{echo htmlentities($description[1],ENT_QUOTES,$encoding)."\n";}
else
{echo $description[1];}
echo "</p>\n";
}
if ($anzahl-- <= 1) break;
}
echo "</div>\n\n";
}
getRssfeed("http://www.voelklingen-im-wandel.de/nachrichten/feed/","test","auto",3,3);
?>
Es gibt mir aber, egal was ich versuche, nur folgendes, jeweils auf /”‘.['link'].’” verlinkt, aus:
’.['title'].’ ’.['title'].’ ’.['title'].’ ’.['title'].’
Bin ich blind/doof, oder legt sich der Feed quer?
Danke für jede Hilfe
Grüße
Andreas