Skocz do zawartości

prosty rss parser


luman

Rekomendowane odpowiedzi

<?php

/*  XML News Reader v1

   By Richard James Kendall 

   Bugs to richard@richardjameskendall.com 

   Free to use, please acknowledge me 

   

   To change the feed that this script uses choose one from here:

   https://w.moreover.com/categories/category_list_xml.html

   

   This script populates the array $news with the following structure:

   

   Array

       (

           [URL] => 

           [HEADLINE_TEXT] => 

           [SOURCE] => 

           [MEDIA_TYPE] => 

           [CLUSTER] => 

           [TAGLINE] => 

           [DOCUMENT_URL] => 

           [HARVEST_TIME] => 

           [ACCESS_REGISTRATION] => 

           [ACCESS_STATUS] => 

       )



The HTML formatting that this script does is simple, the data is loaded into an array to that you

can write the formatting code.

*/



$file = "https://p.moreover.com/cgi-local/page?c=Blogging%20news&o=xml";

$news = array();

$news_index = "";

$news_array_counter = 0;



function startElement($parser, $name, $attrs) {

   global $news, $news_array_counter, $news_index;

   switch($name) {

   	case "ARTICLE":

   	case "MOREOVERNEWS":

     $news_index = "";

     break;

 default:

 	$news_index = $name;

 	$news[$news_array_counter][$news_index] = "";

 	break;

}

}



function endElement($parser, $name) {

   global $news, $news_index, $news_array_counter;

   switch($name) {

   	case "ARTICLE":

     $news_array_counter++;

     break;

   }

   $news_index = "";

}



function characterData($parser, $data) {

global $news, $news_array_counter, $news_index;

if ($news_index != "") {

 $news[$news_array_counter][$news_index] .= trim($data);

}



}



$xml_parser = xml_parser_create();

xml_set_element_handler($xml_parser, "startElement", "endElement");

xml_set_character_data_handler($xml_parser, "characterData");

if (!($fp = fopen($file, "r"))) {

die("could not open XML input");

}



while ($data = fread($fp, 4096)) {

if (!xml_parse($xml_parser, $data, feof($fp))) {

 die(sprintf("XML error: %s at line %d",

   	xml_error_string(xml_get_error_code($xml_parser)),

   	xml_get_current_line_number($xml_parser)));

}

}

xml_parser_free($xml_parser);



// begin formatting



print ("<html>");

print ("<head><title>XML news reader</title></head>");

print ("<body>");

for($i = 0;$i < count($news);$i++) {

print ("<a href="" . $news[$i]["URL"] . "" target="_blank"><h2>" . $news[$i]["HEADLINE_TEXT"] . "</h2></a>");

print ("<b>From:</b> <i><a href="" . $news[$i]["DOCUMENT_URL"] . "" target="_blank">" . $news[$i]["SOURCE"] . "</a></i>; <b>Date:</b> <i>" . $news[$i]["HARVEST_TIME"] . "</i>");

}

print ("</body></html>");

?> 

albo RSSlib v1.02

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności