Visualizzazione risultati 1 fino 4 di 4

Discussione: rss reader

  1. #1
    Guest

    Predefinito rss reader

    Salve,
    hobisogno del vostro aiuto sto cercando di inserire nel mio sito che to creando un lettore di rss per aggiungere una sezione di new, ho provato diversi script trovati su internet ma nessuno funzione,ho anche attivato server to server dal pannello di controllo ma niente

    vi posto un esempio trovato su internet con la speranza che qualcuno mi sappia dire cosa non và


    Codice PHP:
    <?php
    $insideitem
    = false;
    $tag = '';
    $title = '';
    $description = '';
    $link = '';

    function
    startElement($parser, $name, $attrs) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $insideitem) {
    $tag = $name;
    } elseif (
    $name == 'ITEM') {
    $insideitem = true;
    }
    }

    function
    endElement($parser, $name) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $name == 'ITEM') {
    printf('<p><b><a href=\'%s\'>%s</a></b><br>',
    trim($link),trim($title));
    printf('%s</p>'."\n",trim($description));
    $title = '';
    $description = '';
    $link = '';
    $insideitem = false;
    }
    }

    function
    characterData($parser, $data) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $insideitem) {
    switch (
    $tag) {
    case
    'TITLE':
    $title .= $data;
    break;
    case
    'DESCRIPTION':
    $description .= $data;
    break;
    case
    'LINK':
    $link .= $data;
    break;
    }
    }
    }

    $xml_parser = xml_parser_create();
    xml_set_element_handler($xml_parser, 'startElement', 'endElement');
    xml_set_character_data_handler($xml_parser, "characterData");
    $fp = fopen('http://paolo.evectors.it/italian/rss.xml','r')
    or die(
    'Error reading RSS data.');
    while (
    $data = fread($fp, 4096)) {
    xml_parse($xml_parser, $data, feof($fp))
    or die(
    sprintf('XML error: %s at line %d',
    xml_error_string(xml_get_error_code($xml_parser)),
    xml_get_current_line_number($xml_parser)));
    }
    fclose($fp);
    xml_parser_free($xml_parser);
    ?>
    grazie

  2. #2
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Non puoi, per il momento, usare fopen.
    Puoi usare fsockopen o cURL ecco un esmpio: fsockopen() php che cosa serve????.
    Perciò devi sostituire a fopen o fsockopen o cURL.
    Ultima modifica di andreafallico : 14-12-2009 alle ore 02.05.56

  3. #3
    Guest

    Predefinito

    grazie per la risposta pero non mi va ancora mi da il seguente errore
    XML error: Not well-formed (invalid token) at line 1

    cosa vuol dire?

    ti chiedo per favore se riesci te ad aggiustare il codice perchè non so veramente come sistemarlo
    url del file è http://www.gazzetta.it/rss/Calcio.xml
    Codice PHP:
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <?php
    $insideitem
    = false;
    $tag = '';
    $title = '';
    $description = '';
    $link = '';

    function
    startElement($parser, $name, $attrs) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $insideitem) {
    $tag = $name;
    } elseif (
    $name == 'ITEM') {
    $insideitem = true;
    }
    }

    function
    endElement($parser, $name) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $name == 'ITEM') {
    printf('<p><b><a href=\'%s\'>%s</a></b><br>',
    trim($link),trim($title));
    printf('%s</p>'."\n",trim($description));
    $title = '';
    $description = '';
    $link = '';
    $insideitem = false;
    }
    }

    function
    characterData($parser, $data) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $insideitem) {
    switch (
    $tag) {
    case
    'TITLE':
    $title .= $data;
    break;
    case
    'DESCRIPTION':
    $description .= $data;
    break;
    case
    'LINK':
    $link .= $data;
    break;
    }
    }
    }

    $xml_parser = xml_parser_create();
    xml_set_element_handler($xml_parser, 'startElement', 'endElement');
    xml_set_character_data_handler($xml_parser, "characterData");
    $fp = fsockopen("http://www.gazzetta.it", 80, $errno, $errstr, 30);
    if (!
    $fp) {
    echo
    "$errstr ($errno)<br />\n";
    } else {
    $out = "GET rss/Calcio.xml HTTP/1.1\r\n";
    $out .= "Host: www.gazzetta.it\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (
    $data = fread($fp, 4096)) {
    xml_parse($xml_parser, $data, feof($fp))
    or die(
    sprintf('XML error: %s at line %d',
    xml_error_string(xml_get_error_code($xml_parser)),
    xml_get_current_line_number($xml_parser)));
    }
    fclose($fp);
    }
    xml_parser_free($xml_parser);
    ?>

    </BODY>
    </HTML>
    grazie infinite

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Lo devi modificare così:
    Codice PHP:
    <?php
    $insideitem
    = false;
    $tag = '';
    $title = '';
    $description = '';
    $link = '';

    function
    startElement($parser, $name, $attrs) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $insideitem) {
    $tag = $name;
    } elseif (
    $name == 'ITEM') {
    $insideitem = true;
    }
    }

    function
    endElement($parser, $name) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $name == 'ITEM') {
    printf('<p><b><a href=\'%s\'>%s</a></b><br>',
    trim($link),trim($title));
    printf('%s</p>'."\n",trim($description));
    $title = '';
    $description = '';
    $link = '';
    $insideitem = false;
    }
    }

    function
    characterData($parser, $data) {
    global
    $insideitem, $tag, $title, $description, $link;
    if (
    $insideitem) {
    switch (
    $tag) {
    case
    'TITLE':
    $title .= $data;
    break;
    case
    'DESCRIPTION':
    $description .= $data;
    break;
    case
    'LINK':
    $link .= $data;
    break;
    }
    }
    }

    $xml_parser = xml_parser_create();
    xml_set_element_handler($xml_parser, 'startElement', 'endElement');
    xml_set_character_data_handler($xml_parser, "characterData");
    $fp = fsockopen("www.gazzetta.it", 80, $errno, $errstr, 30);
    if (!
    $fp) {
    echo
    "$errstr ($errno)<br />\n";
    } else {
    $out = "GET /rss/Calcio.xml HTTP/1.1\r\n";
    $out .= "Host: www.gazzetta.it\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    $header = '';
    do{
    $header .= fgets($fp, 128);
    }while(
    strpos($header, "\r\n\r\n") === false);
    while (
    $data = fgets($fp, 1024)) {
    xml_parse($xml_parser, $data, feof($fp))
    or die(
    sprintf('XML error: %s at line %d',
    xml_error_string(xml_get_error_code($xml_parser)),
    xml_get_current_line_number($xml_parser)));
    }
    fclose($fp);
    }
    xml_parser_free($xml_parser);
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •