• User

    Limitare elenco di RSS con Php.

    Ciao a tutti ragazzi! :figo2:

    Finalmente sono riuscito a inserire nel myo sito un elenco di Feed RSS proveniente da un'altro portale, tramite uno script Php..
    Questo:
    [php]
    <?
    $filename=" URL DEL SITO DA CUI PRELEVO I FEED ";
    if( ! ($fp = fopen( "$filename" , "r" )) ){echo "Impossibile aprire il file xml!";}
    $item_counter = 0;
    $item_data = array();
    $xml_current_tag_state = '';
    function startElementHandler( $parser, $element_name, $element_attribs ){
    global $item_counter;
    global $item_data;
    global $xml_current_tag_state;
    $xml_current_tag_state = $element_name;
    }
    function endElementHandler( $parser, $element_name ){
    global $item_counter;
    global $item_data;
    global $xml_current_tag_state;
    $xml_current_tag_state = '';
    if( $element_name == "ITEM" ) {
    $item_counter++;
    }
    }
    function characterDataHandler( $parser , $data ){
    global $item_counter;
    global $item_data;
    global $xml_current_tag_state;
    if( $xml_current_tag_state == '' ) {
    return;
    }
    if( $xml_current_tag_state == "TITLE" ) {
    $item_data[$item_counter]["title"] = $data;
    }
    if( $xml_current_tag_state == "LINK" ) {
    $item_data[$item_counter]["link"] = $data;
    }
    if( $xml_current_tag_state == "DESCRIPTION" ) {
    $item_data[$item_counter]["description"] = $data;
    }
    }
    if( !($xml_parser = xml_parser_create()) ){
    die("Impossibile creare l' XML parser!");
    }

    xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
    xml_set_character_data_handler($xml_parser, "characterDataHandler");

    $data = stream_get_contents($fp);
    if( !xml_parse($xml_parser, $data, feof($fp)) ){
    break; // esce dal loop quando finisce
    }

    xml_parser_free($xml_parser);

    for( $i=0 ; $i < $item_counter ; ++$i ){
    echo "<a href='".$item_data*["link"]."'>".$item_data*["title"]."</a><BR/>".$item_data*["description"]."<BR/> ";
    }
    ?>
    [/php]
    Il problema che incortro ora e al quale non so ovviare è che purtroppo l'elenco di feed che mi compare è lunghissimo, perchè non si limita ad esporre solo i primi link, ma tutto l'ambaradam. :dull:

    Qualcuno di voi sa attraverso quale modifica (possibilmente attuata su questo script) è possibile imporre un limite di visualizzazione ai primi 3 feed rss?

    Ringrazio anticipatamente chiunque partecipi alla discussione. :wink3:


  • User

    Ragazzi, ho risolto 😛

    Che svista.. Dovevo semplicemente modificare questa stringa..

    for( $i=0 ; $i ***< ***$item_counter ; ++$i ){