Foros del Web » Creando para Internet » HTML »

Como funciona esto del RSS?

Estas en el tema de Como funciona esto del RSS? en el foro de HTML en Foros del Web. Hola quiero saber, si se puede, al detalle, esto del RSS y como puedo implentarlo en mi web agradecere mucho esta ayuda Arriba cienciano!!!!...
  #1 (permalink)  
Antiguo 03/02/2005, 20:30
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 12 años, 10 meses
Puntos: 11
Pregunta Como funciona esto del RSS?

Hola quiero saber, si se puede, al detalle, esto del RSS y como puedo implentarlo en mi web

agradecere mucho esta ayuda

Arriba cienciano!!!!
  #2 (permalink)  
Antiguo 03/02/2005, 21:59
 
Fecha de Ingreso: diciembre-2002
Mensajes: 100
Antigüedad: 15 años
Puntos: 1
Saludos desde Venezuela...

Esto de las RSS( Really Simple Syndication ) Te permitira tener información actualizada de otros sitios que dispongan de esta alternativa ejemplo este Foro, si observas en la parte inferior [RSS] en Naranja ...

Como puedo implementarlo en mi WEB

A ver:

Estas en un server con Soporte PHP?

Si la respuesta es si:

Script Ejemplo:

(getpost.php)

Código PHP:
<?php
function GetXMLTree ($xmldata)
{
    
// we want to know if an error occurs
    
ini_set ('track_errors''1');

    
$xmlreaderror false;

    
$parser xml_parser_create ('ISO-8859-1');
    
xml_parser_set_option ($parserXML_OPTION_SKIP_WHITE1);
    
xml_parser_set_option ($parserXML_OPTION_CASE_FOLDING0);
    if (!
xml_parse_into_struct ($parser$xmldata$vals$index)) {
        
$xmlreaderror true;
        echo 
"error";
    }
    
xml_parser_free ($parser);

    if (!
$xmlreaderror) {
        
$result = array ();
        
$i 0;
        if (isset (
$vals [$i]['attributes']))
            foreach (
array_keys ($vals [$i]['attributes']) as $attkey)
            
$attributes [$attkey] = $vals [$i]['attributes'][$attkey];

        
$result [$vals [$i]['tag']] = array_merge ($attributesGetChildren ($vals$i'open'));
    }

    
ini_set ('track_errors''0');
    return 
$result;
}

function 
GetChildren ($vals, &$i$type)
{
    if (
$type == 'complete') {
        if (isset (
$vals [$i]['value']))
            return (
$vals [$i]['value']);
        else
            return 
'';
    }

    
$children = array (); // Contains node data

    /* Loop through children */
    
while ($vals [++$i]['type'] != 'close') {
        
$type $vals [$i]['type'];
        
// first check if we already have one and need to create an array
        
if (isset ($children [$vals [$i]['tag']])) {
            if (
is_array ($children [$vals [$i]['tag']])) {
                
$temp array_keys ($children [$vals [$i]['tag']]);
                
// there is one of these things already and it is itself an array
                
if (is_string ($temp [0])) {
                    
$a $children [$vals [$i]['tag']];
                    unset (
$children [$vals [$i]['tag']]);
                    
$children [$vals [$i]['tag']][0] = $a;
                }
            } else {
                
$a $children [$vals [$i]['tag']];
                unset (
$children [$vals [$i]['tag']]);
                
$children [$vals [$i]['tag']][0] = $a;
            }

            
$children [$vals [$i]['tag']][] = GetChildren ($vals$i$type);
        } else
            
$children [$vals [$i]['tag']] = GetChildren ($vals$i$type);
        
// I don't think I need attributes but this is how I would do them:
        
if (isset ($vals [$i]['attributes'])) {
            
$attributes = array ();
            foreach (
array_keys ($vals [$i]['attributes']) as $attkey)
            
$attributes [$attkey] = $vals [$i]['attributes'][$attkey];
            
// now check: do we already have an array or a value?
            
if (isset ($children [$vals [$i]['tag']])) {
                
// case where there is an attribute but no value, a complete with an attribute in other words
                
if ($children [$vals [$i]['tag']] == '') {
                    unset (
$children [$vals [$i]['tag']]);
                    
$children [$vals [$i]['tag']] = $attributes;
                }
                
// case where there is an array of identical items with attributes
                
elseif (is_array ($children [$vals [$i]['tag']])) {
                    
$index count ($children [$vals [$i]['tag']]) - 1;
                    
// probably also have to check here whether the individual item is also an array or not or what... all a bit messy
                    
if ($children [$vals [$i]['tag']][$index] == '') {
                        unset (
$children [$vals [$i]['tag']][$index]);
                        
$children [$vals [$i]['tag']][$index] = $attributes;
                    }
                    
$children [$vals [$i]['tag']][$index] = array_merge ($children [$vals [$i]['tag']][$index], $attributes);
                } else {
                    
$value $children [$vals [$i]['tag']];
                    unset (
$children [$vals [$i]['tag']]);
                    
$children [$vals [$i]['tag']]['value'] = $value;
                    
$children [$vals [$i]['tag']] = array_merge ($children [$vals [$i]['tag']], $attributes);
                }
            } else
                
$children [$vals [$i]['tag']] = $attributes;
        }
    }

    return 
$children;
}

//URL del archivo Xml - Lectura
$url "http://www.forosdelweb.com/index.xml"

//Resultado de Lectura:
$contents file_get_contents($url);
echo 
$data["rss"]["channel"]["description"];
echo 
"<br><br>";
$t count($data["rss"]["channel"]["item"]);
for(
$i 0$i $t$i++){
echo 
"<br><br>";
echo 
"<a href='" $data["rss"]["channel"]["item"][$i]["link"] . "' target='_blank'>" $data["rss"]["channel"]["item"][$i]["title"] . "</a>";
echo 
"<br>";
echo 
$data["rss"]["channel"]["item"][$i]["description"];
}
echo 
"<br><br>";

?>
Sube este script a tu server y te mostrara los ultimos post de este foro, ademas un limk para ir al hilo de cada uno...


Espero no haberte abrumado con esto, nec. aprender algun lenguaje de secuencia de comando (ASP - PHP) para sacar partido a los RSS...


Última edición por RakoVky; 03/02/2005 a las 22:01
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:47.