Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/08/2005, 05:27
Avatar de adriancid
adriancid
 
Fecha de Ingreso: abril-2005
Ubicación: Versalles, Santiago de Cuba, Cuba
Mensajes: 53
Antigüedad: 18 años, 11 meses
Puntos: 0
Aqui tienes una clase

Código PHP:
<?php

class GeneradorRss {
    
    private 
$rss;
    
    function 
__construct() {
        
$this->rss "<?xml version='1.0' encoding='iso-8859-1'?>\n";
        
$this->rss .= "<rss version='2.0'>\n";
        
$this->rss .= "<channel>\n"//__construct
    
}
    
    public function 
generar_canal($arreglo_canal)    {
        
$this->rss .= "<title>{$arreglo_canal['title']}</title>\n";
        
$this->rss .= "<link>{$arreglo_canal['link']}</link>\n";
        
$this->rss .= "<description>{$arreglo_canal['description']}</description>\n";
    } 
//generar_canal
    
    
public function generar_item($arreglo_item) {
        foreach (
$arreglo_item as $indice => $item) {
            
$this->rss .= "<item>\n";
            
$this->rss .= "<title>{$item['title']}</title>\n";
            
$this->rss .= "<link>{$item['link']}</link>\n";
            
$this->rss .= "<description>{$item['description']}</description>\n";
            
$this->rss .= "</item>\n";
        } 
//foreach        

        
$this->rss .= "</channel>\n";
        
$this->rss .= "</rss>\n";
    } 
//generar_item
    
    
public function get_rss() {
        return 
$this->rss;
    } 
//get_rss

//GeneradorRss 

?>
Envias la siguiente cabecera en la pagina donde se generan los rss
Código PHP:
header('Content-Type: text/xml'); 
Para que el navegador sepa que lo que le viene es un fichero XML.
Luego lo que haces es crear un objeto, para generar el canal le pasas un arreglo con los indices con el mismo nombre de los campos del rss como puedes ver en el método generar_canal, también puedes añadir otras etiquetas si lo deseas, y con luego mandas a generar los items con el método generar_item() al que le pasas un arreglo bidimensional de la forma
Código PHP:
$arreglo[0]['title'] = 'Hola';
$arreglo[0]['link'] = 'http://www.forosdelweb.com';

...

$arreglo[20]['title'] = 'Hola de Nuevo';
$arreglo[20]['link'] = 'http://www.forosdelweb.com'
y al final le pegas un echo al método get_rss() y ya tienes tu rss.