Hallo zusammen,
folgender Code soll als php-Datei über include in einer Box eingebunden werden:
Frage: Ich möchte erreichen, dass die Links in einem neuen Tab geöffnet werden. Ein Einfügen des target="_blank" Befehls an den Stellen
echo "<h1><a href=\"".$channellink[1]."\" title=\"";
und
echo "<a href=\"".$link[1]."\" title=\"";
sorgt für eine Zerstörung des gesamten Templates.
Kann mir jemand zufällig einen Tipp geben, was ich falsch mache bzw. anders machen muss, damit es funktionert?
Danke für Eure Antworten.
Grüße,
Afox
folgender Code soll als php-Datei über include in einer Box eingebunden werden:
PHP:
<?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.web-spirit.de/web-spirit.xml","web-spirit","auto",3,3);
getRssfeed("http://www.heise.de/newsticker/heise.rdf","heise","utf-8",3,0);
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";
}
Frage: Ich möchte erreichen, dass die Links in einem neuen Tab geöffnet werden. Ein Einfügen des target="_blank" Befehls an den Stellen
echo "<h1><a href=\"".$channellink[1]."\" title=\"";
und
echo "<a href=\"".$link[1]."\" title=\"";
sorgt für eine Zerstörung des gesamten Templates.
Kann mir jemand zufällig einen Tipp geben, was ich falsch mache bzw. anders machen muss, damit es funktionert?
Danke für Eure Antworten.
Grüße,
Afox