
Przedszkolak

Postów: 4
Data rejestracji: 23.05.2008 22:23
|
pomoze mi ktos? [juz kombinuje i nie moge tego zrobic... chodzi o to zebym mial w kanale rss nie mial samych nag?ówków tylko nag?ówek i czesc tekstu do tematu , i jeszcze miniaturki w rss-e daje plik czego tam brakuje?
<?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 = 15; // Co ile ma by? aktualizacja
$folder = "".INFUSIONS."rss_reader_panel6/rss6/"; // Adres folderu, w którym znajdowa? si? b?d? pliki z newsami.
$adres = "http://www.furious.pl/rss/news.xml"; // Adres URL do kana?u RSS
$nazwa_kanalu = "nowinki motoryzacja"; // Tytu? kana?u RSS
$liczba = 6; // 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).".html"; // 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]);
$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?? maksumaln?.
$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<li><a class=\"headlinellink\" target=\"$target\" 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>";
}
?>
Zdania z du?ej litery, kody w code, wy??czasz u?mieszki i zmieniasz nazw? tematu//bartek124
PW od moderatora:
- Zmiana nazwy tematu - bartek124 31.05 - 18:21
- Przeniesienie tematu - Pieka 31.05 - 21:01
Edytowane przez pawel0510 dnia 31.05.2008 21:16:07
|