<?php
// Die Hauptfunktion
function verarbeiteFeed($string, $maxim) {
$link = false;
$lesen = false;
$start = 0;
$zaehl = 0;
$alttitle = "";
define("SCHLIESSE", ">"); // Für valides HTML je nach Dokumenttyp-Deklaration bei HTML ">" oder bei XHTML " />"
$pxml = simplexml_load_string(wandleTags($string), "SimpleXMLElement", LIBXML_NOCDATA);
if ($pxml->channel->item) $lesen = $pxml->channel->item;
if ($pxml->entry) $lesen = $pxml->entry;
if ($pxml->item) $lesen = $pxml->item;
if (strlen($lesen[0]->title) > 0 or strlen($lesen[1]->title) > 0) {
foreach ($lesen as $nachricht) {
if ($nachricht->title != false) {
if ($nachricht->link) {
if ((string)$nachricht->link) {
$link = $nachricht->link;
}
elseif ($nachricht->link->attributes()) {
$attr = $nachricht->link->attributes();
$link = $attr["href"];
}
}
$title = ($nachricht->title);
if (($nachricht->title) && ($title!=="") && ($title !== NULL) && ($title !== $alttitle) ){
if (($nachricht->summary) != false) {
$trenn4 = ": (";
$title = explode($trenn4, $title);
$title = $title[0];
$alttitle=$title;
echo "<li><a href=\"".htmlspecialchars($link, ENT_QUOTES)."\" target=\"_blank\" class=\"ketchup tooltip\" title=\"".htmlspecialchars(filtereHTML($nachricht->summary), ENT_QUOTES)."\">".
htmlspecialchars(filtereHTML($title), ENT_QUOTES)."</a></li>\n";
}
if (($nachricht->description) != false) {
$desc = ($nachricht->description);
$desc = str_replace(" ", "", $desc);
$desc = str_replace("<br/>", " - ", $desc);
$desc = preg_replace("#\s{2,}#", "", $desc);
/*$desc = trim($desc);*/
$trenn = "Mehr zum Thema";
$desc = explode($trenn, $desc);
$desc = $desc[0];
$trenn2 = "<li>Video";
$desc = explode($trenn2, $desc);
$desc = $desc[0];
$trenn3 = "<li>Bilderserie";
$desc = explode($trenn3, $desc);
$desc = $desc[0];
$inst='Liveblog zum Besuch';
$livet='Fakten und Zahlen zur Queen';
$blog='Besuch mit Rucksack';
$ueber='Alle Videos';
$queen='Queen-Besuch - alle Videos';
$bdw='heute+';
$pos = strpos ($title,$bdw);
$pos1 = strpos ($title,$ueber);
$pos2 = strpos ($title,$blog);
$pos3 = strpos ($title,$livet);
$pos4 = strpos ($title,$inst);
$pos5 = strpos ($title,$queen);
if (($title !== '') && ($title !== NULL) && ($pos === false) && ($pos === false) && ($pos1 === false) && ($pos2 === false) && ($pos3 === false) && ($pos4 === false) && ($pos5 === false) && ($title !== $alttitle))
{
?>
<li><a href='
<?php echo htmlspecialchars ($link, ENT_QUOTES); ?>
' target='_blank' class="ketchup tooltip" title="
<?php echo htmlspecialchars (filtereHTML ($desc), ENT_QUOTES); ?>
">
<?php echo ($title); ?>
</a></li>
<?php
$alttitle=$title;
}
else
{ $start--;}
}
if ((($nachricht->content) != false) && (($nachricht->description) != true) && (($nachricht->title) != $alttitle) && (($nachricht->summary) != true))
{
$cont = ($nachricht->content);
$cont = trim($cont);
$alttitle=($nachricht->title);
echo "<li><a href=\"".htmlspecialchars($link, ENT_QUOTES)."\" target=\"_blank\" class=\"ketchup tooltip\" title=\"".htmlspecialchars(filtereHTML($cont), ENT_QUOTES)."\">".
htmlspecialchars(filtereHTML($nachricht->title), ENT_QUOTES)."</a></li>\n";
/*
?>
<li a href='>
<?php echo htmlspecialchars ($link, ENT_QUOTES); ?>
' target='_blank'>" > class="ketchup tooltip" title="
<?php echo htmlspecialchars(filtereHTML($cont), ENT_QUOTES); ?>
">
<?php echo htmlspecialchars (filtereHTML($nachricht->title), ENT_QUOTES); ?>
</a></li>
<?php
*/
}
}
$start++;
if ($start == $maxim) {break;
}
}
}
} else { echo "<br".SCHLIESSE."Feed konnte nicht geladen werden!\n";
$laderr = 1;
return $laderr;
}
/*}*/
}
// Die Nebenfunktionen
function wandleTags($daten) {
$daten = str_replace("content:encoded", "content", $daten);
$daten = preg_replace_callback("/(&[#a-z0-9]+;)/",
function($enti) {
return htmlspecialchars(mb_convert_encoding($enti[1], "UTF-8", "HTML-ENTITIES"));
}, $daten);
if (strpos($daten, "><item>") !== false) {
$eing = array(
"><item>" => ">\r\n<item>",
"><title>" => ">\r\n<title>",
"><link>" => ">\r\n<link>",
"><description>" => ">\r\n<description>",
"><content>" => ">\r\n<content>",
"><summary>>" => ">\r\n<summary>>",
"><enclosure>" => ">\r\n<enclosure>",
"><pubDate>" => ">\r\n<pubDate>",
"><updated>" => ">\r\n<updated>",
"><published>" => ">\r\n<published",
"><author>" => ">\r\n<author>",
"><creator>" => ">\r\n<creator>"
);
$daten = strtr($daten, $eing);
}
return $daten;
}
function filtereHTML($daten) {
$daten = preg_replace("/<.+?>/is", " ", $daten);
return $daten;
}
function filtereLinks($daten) {
if (($pos = strpos($daten, "#")) !== false) {
$daten = substr($daten, 0, $pos);
}
$daten = preg_replace("/[^a-z0-9_\/=.:;&!?-]/is", "", $daten);
return $daten;
}
?>