Kod czego mam podesłać?
Skrypt czytnika RSS ze strony Allegro znajduje się
tutaj. Różnica do tego, który się "rozstrzela" na każdą nową linię tkwi wyłącznie w tym, że RSS Allegro ma czas aktualizacji wiadomości równy 0 (chciałbym mieć 30, ale nie pokazuje wtedy "brak aktualnych ofert w serwisie allegro" - jeśli wiesz jak to wykonać, to kliknij w link koniecznie

), a RSS wiadomości NEWS po lewej ma wartość 60 (co godzinę) oraz została usunięta jedna linia w RSS Allegro usuwająca puste linijki. Po identycznym ustawieniu skryptu do tego po prawej stronie (działającego), efekt rozstrzelenia w IE8 nadal istnieje.
Co jest potrzebne do usunięcia błędu?
Kod licznika graficznego:
<?
### IMAGE FORMAT
$format = ".png";
$file = file("count.txt"); $num = ($file[0] + 1);
exec("echo $num > count.txt"); switch($type) {
case "text":
break;
case "gfx":
$i = 0;
while($i < $cntn) {
$tmpnum = substr($num, $i, 1
); echo("<img src=\"$dir/$tmpnum$format\">"); $i++;
}
break;
case "q":
break;
default:
echo("count.php <b>error</b> : type not specified."); break;
}
?>
kod lewej części strony:
<TABLE width="125" height="20" valign="top" align="center" border="0" cellpadding="0" cellspacing="0"> <TD background="2.png" align="center" ID="oddz">NEWS
</TD> <div style="margin-left:10px;margin-top:10px;margin-bottom:10px;margin-right:5px;"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <td width="20" valign="top" align="left"><font color="navy"><? include("rss/rss.php");?></font></td>
<TABLE width="125" height="20" valign="top" align="center" border="0" cellpadding="0" cellspacing="0"> <TD background="2.png" align="center" ID="oddz">LICZNIK
</TD> <div style="margin-left:0px;margin-top:10px;margin-bottom:10px;"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <td width="20" valign="top" align="center"><? $type = "gfx"; $dir = "digits"; include("count.php"); ?> </font></td>
kod czytnika RSS NEWS:
<?php
#===========================================
# Silnik tego skryptu zapożyczony został z czytnika RSS w wersji PHP z
# oprogramowania RSS GET, oryginalna wersja programu na stronie: <a href=\"http://www.aarondunlap.com\" target=\"_blank\">http://www.aarondunlap.com</a>
#===========================================
$czas = 60; // Co ile ma być aktualizacja
$folder = "rss/"; // Adres folderu, w którym znajdować się będą pliki z newsami.
$adres = "http://www.rockmetal.pl/rss/rockmetal_news.rss"; // Adres URL do kanału RSS
$nazwa_kanalu = "RockMetal.pl"; // Tytuł kanału RSS
$liczba = 5; // 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
#==========================
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. $rssArray = explode("</item>",$rssData); // Tworzenie tablicy z nagłówkami
#==========================
# 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] = 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;
while ($x < $liczba) { // ta pętla zapisuje każdy link osobno.
fwrite($fp,"<img src=\"gwiazdka.gif\"> <a class=\"menu3\" target=\"$target\" href=\"$link[$x]\">$title[$x]</a><br>\n"); $x++;
}
include $folder;
} else {
#==========================
# Zwracanie błędu gdy podany adres jest błędny.
#==========================
echo "<b>Nie mozna połączyć się z adresem: $adres. </b>";
}
?>