class.rss.php
rss.phpcodice:<?php class MakeRSS{ var $Articles = array(); // Channel info var $title = ''; var $link = ''; var $description = ''; var $optional = array(); var $image = array('url' => '', 'title' => '', 'link' => '', 'description' => '', 'w' => 0, 'h' => 0); function MakeRSS($title, $link, $description, $optional = ''){ $this->title = $title; $this->link = $link; $this->description = $description; if( is_array($optional) and count($optional) ){ $this->optional = $optional; } } function AddOptional($key, $value){ $this->optional[$key] = $value; } function AddImage($title, $url, $link, $description = ''){ $this->image['title'] = $title; $this->image['url'] = $url; $this->image['link'] = $link; $this->image['description'] = $description; if( $tmp = @getimagesize($url) ){ $this->image['w'] = ($tmp[0] > 144) ? 144 : $tmp[0]; $this->image['h'] = ($tmp[1] > 400) ? 400 : $tmp[1]; } } function AddArticle($title, $link, $description, $author, $optional = ''){ $i = array_push($this->Articles, array('title' => $title, 'link' => $link, 'description' => $description, 'author' => $author)); if( is_array($optional) and count($optional) ){ --$i; while( list($k, $v) = each($optional) ){ $this->Articles[$i][$k] = $v; } } } function Output($save = false, $path = ''){ $out = '<?xml version="1.0"?>' . "\n" . '<rss version="2.0">' . "\n" . '<channel>' . "\n"; $out .= "<title>$this->title</title>\n" . "<link>$this->link</link>\n" . "<description>$this->description</description>\n"; //Channel optionals if( is_array($this->optional) and count($this->optional) ){ while( list($k, $v) = each($this->optional) ){ $out .= "<$k>$v</$k>\n"; } } //Image if( $this->image['title'] and $this->image['url'] and $this->image['link'] ){ $out .= "<image>\n" . "<title>" . $this->image['title'] . "</title>\n" . "<url>" . $this->image['url'] . "</url>\n" . "<link>" . $this->image['link'] . "</link>\n"; if( $this->image['description'] ){ $out .= "<description>" . $this->image['description'] . "</description>\n"; } if( $this->image['w'] and $this->image['h'] ){ $out .= "<width>" . $this->image['w'] . "</width>\n" . "<height>" . $this->image['h'] . "</height>\n"; } $out .= "</image>\n"; } //Articles for( $i = 0, $c = count($this->Articles); $i < $c; $i++ ){ $out .= "<item>\n" . "<title>" . $this->Articles[$i]['title'] . "</title>\n" . "<link>" . $this->Articles[$i]['link'] . "</link>\n" . "<description>" . $this->Articles[$i]['description'] . "</description>\n" . "<author>" . $this->Articles[$i]['author'] . "</author>\n"; if( count($this->Articles[$i]) > 4 ){ while( list($k, $v) = each($optional) ){ if( !in_array($k, array('title', 'link', 'description', 'author')) ){ $out .= "<$k>$v</$k>\n"; } } } $out .= "</item>\n"; } $out .= "</channel>\n</rss>"; // True output if( !$save or !$path ){ header("Content-type: application/xml"); echo $out; return true; } else{ $fh = fopen($path, 'w'); if( $fh ){ fwrite($fh, $out); fclose($fh); return true; } return false; } } } ?>
Perchè con IE mi da errore?codice:<?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Data passata header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // sempre modificato header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // HTTP/1.0 include "db.php"; include('./class.rss.php'); function xmlentities($string, $quote_style=ENT_COMPAT) { $trans = get_html_translation_table(HTML_ENTITIES, $quote_style); foreach ($trans as $key => $value) $trans[$key] = '&#'.ord($key).';'; return strtr($string, $trans); } $r = new MakeRSS('Sito.it', 'http://www.sito.it', 'Sito'); $query = "SELECT * FROM News ORDER BY ID DESC LIMIT 0,10"; $result = mysql_query($query, $db); while ($rows = mysql_fetch_array($result)) { $id = $rows["ID"]; $titolo = $rows["Titolo"]; $titolo = str_replace(""","''",$titolo); $abs = $rows["Descrizione"]; $abs = str_replace(""","''",$abs); $titolo = xmlentities($titolo); $abs = xmlentities($abs); $r->AddArticle("$titolo - $abs", "http://www.sito.it/news/news.php?News=$id", $abs, "Sito.it"); } $r->Output(); ?>
Impossibile visualizzare la pagina XML
Impossibile visualizzare l'input XML tramite il foglio di stile XSL. Correggere l'errore, quindi fare clic su Aggiorna, oppure riprovare in un momento successivo.
--------------------------------------------------------------------------------
Carattere non valido nel contenuto di testo. Errore durante l'elaborazione della risorsa "http://www.ruotanti.it/include/rs...
<title>Titolo news - PrimaLetteraDescrizione

Rispondi quotando

