Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Limitare elenco di RSS con Php.

    Ciao a tutti ragazzi!

    Finalmente sono riuscito a inserire nel myo sito un elenco di Feed RSS proveniente da un'altro portale, tramite uno script Php..
    Questo:
    Codice 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$datafeof($fp)) ){
        break; 
    // esce dal loop quando finisce
    }

    xml_parser_free($xml_parser);

    for( 
    $i=$i $item_counter ; ++$i ){
        echo 
    "[url='".$item_data[$i]["link"]."']".$item_data[$i]["title"]."[/url]
    "
    .$item_data[$i]["description"]."
     "
    ;
    }
    ?>
    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.

    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.
    World's Finest.it

    THE DARK KNIGHT - Luglio 2008

  2. #2
    Utente di HTML.it L'avatar di Takeno
    Registrato dal
    May 2007
    Messaggi
    146
    Non vorrei dire una baggianata, ma se non ho interpretato male la variabile $item_counter indica quanti elementi ci sono.

    Prova a modificare così

    Codice PHP:
    for( $i=$i ; ++$i ){
        echo 
    "[url='".$item_data[$i]["link"]."']".$item_data[$i]["title"]."[/url]
    "
    .$item_data[$i]["description"]."
     "
    ;


  3. #3
    Grazie per la tempestività

    Avevo risolto, provando anche io questo metodo :P

    Che svista..
    World's Finest.it

    THE DARK KNIGHT - Luglio 2008

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.