heja
mam problem
chce zamiescic na stronce czytnik rss, ale nie czaje za bardzo tego
mam jeden gotowiec, ale on nie wyswietla mi tego co jest w <description>
prosilbym bardzo o pomoc
oto gotowy skrypt bez przerobki
mam problem
chce zamiescic na stronce czytnik rss, ale nie czaje za bardzo tego
mam jeden gotowiec, ale on nie wyswietla mi tego co jest w <description>
prosilbym bardzo o pomoc
oto gotowy skrypt bez przerobki
<?php
#===========================================
# Silnik tego skryptu zapo¿yczony zosta³ z czytnika RSS w wersji PHP z
# oprogramowania RSS GET, oryginalna wersja programu na stronie: http://www.aarondunlap.com
#===========================================
$czas = 30; // Co ile ma byæ aktualizacja
$folder = "rss/"; // Adres folderu, w którym znajdowaæ siê bêd¹ pliki z newsami.
$adres = "http://www.webdiary.pl/backend.php"; // Adres URL do kana³u RSS
$nazwa_kanalu = "WebDiary.PL | Wiadomosci ze swiata IT"; // Tytu³ kana³u RSS
$liczba = 10; // Iloœc nag³ówków newsów, które maj¹ byæ wyswietlane
$target = "_blank"; // Opcja target="" dla newsów, mo¿liwe: "_self" oraz "_blank"
$autoupdate = TRUE;
$trunc = FALSE;
$delim = FALSE;
if (isset($_GET['rssHeadline'])) { $rssHeadline = $_GET['rssHeadline'];}
$basefile = $folder;
$folder .= md5($adres).".htm"; // Przygotowywanie nazw plików dla danego kana³u
#==========================
# Operacje zwi¹zane ze sprawdzaniem aktualnoœci nag³ówków w pliku tekstowym
#==========================
if (($czas > 0) && (is_file($folder)) && (((time()-filemtime($folder)) < ($czas * 60)))) {
include $folder;
$time = floor((time()-filemtime($folder)) / 60); // Sprawdza ile minut temu plik by³ aktualizowany
} elseif (@fopen($adres,"r")) { // Sprawdza czy ma dostêp do kana³u RSS
#==========================
# Operacja zwi¹zane z dodawaniem nowego nag³ówka do pliku
#==========================
$rssHandle = fopen($adres,"r") ; // Otwiera plik kana³u RSS
while (!feof($rssHandle)) {
$rssData .= fgets($rssHandle);
}
#==========================
# Przygotowywanie newsa do w³¹czenia do pliku
#==========================
$tag = "item ";
$rssData = preg_replace("/<" . $tag . "(.|\s)*?>/","<item>",$rssData);
$rssData = chop($rssData); // Usuwanie pustych spacji z koñca linijek
$rssData = ereg_replace("[\r,\n]", "", $rssData); // Usuwwanie pustych linijek
$rssData = strstr($rssData,"<item>"); // Usuwanie wszystie przez <item>.
#==========================
# Usuwanie zbêdnych elemntów tak aby okrojona zawartoœæ mog³a zostaæ zapisana w pliku
# Tagi <description></description> zostaj¹ pominiête
#==========================
$tags_and_content_to_strip = Array("description");
foreach ($tags_and_content_to_strip as $tag) {
$rssData = preg_replace("/<" . $tag . ">(.|\s)*?<\/+" . $tag . ">/","",$rssData);
}
$rssData = str_replace("<item>","", $rssData); // usuwanie tagu <item>
$rssData = urldecode($rssData); // Zamiana wszystkich: %20 na spacje.
$rssData = str_replace(strstr("</channel>",$rssData),"",$rssData);
$rssArray = explode("</item>",$rssData); // Tworzenie tablicy z nag³ówkami
$title = array();
$link = array();
#==========================
# Ten mechanizm tworzy tablice dla linków oraz nag³ówków
#==========================
$x = 0;
while($x < $liczba) {
$link[$x] = strstr($rssArray[$x],"<link>"); // usuwanie wszystkiego przed <link>
$link[$x] = ereg_replace("<link>","",$link[$x]);
$link[$x] = str_replace(strstr($link[$x],"</link>"),"",$link[$x]);
$link[$x] = trim($link[$x]);
$link[$x] = str_replace(" ","+",$link[$x]);
$title[$x] = strstr($rssArray[$x],"<title>");
$title[$x] = ereg_replace("<title>","",$title[$x]); // Usuwanie <title> z czêœci tytu³u newsa
$title[$x] = str_replace(strstr($title[$x],"</title>"),"",$title[$x]); // Usuwanie </title> oraz wszystkiego poza nim
$title[$x] = trim($title[$x]);
if ($trunc != FALSE) { $title[$x] = str_replace(substr($title[$x],$trunc),"",$title[$x]); }
if ($delim != FALSE) { $title[$x] = str_replace(strstr($title[$x],$delim),"",$title[$x]); }
if ($title[$x] == "") { $liczba = $x; break; } // Gdy ju¿ nie ma nag³ówków zmienna $liczba przyjmuje wartoœæ maksymaln¹.
$x++;
}
#==========================
# Zapis do pliku
#==========================
$fp = fopen($folder, "w+");
$x=0;
fwrite($fp,"<b><span class=\"displayname\">$nazwa_kanalu</span></b> \n"); // zapisywanie do pliku
while ($x < $liczba) { // ta pêtla zapisuje ka¿dy link osobno.
fwrite($fp,"<br>\n-<a class=\"headlinellink\" target=\"$target\" title=\"$title[$x]\" href=\"$link[$x]\">$title[$x]</a>");
$x++;
}
fclose($fp);
include $folder;
} else {
#==========================
# Zwracanie b³êdu gdy podany adres jest b³êdny.
#==========================
echo "<b>Nie mozna po³¹czyæ siê z adresem: $adres. </b>";
}
?>