Nieuw lid |
|
Werkt!! Heel hartelijk dank, FangorN
Vervolgens heb ik er het volgende van gemaakt (rssfeed.php), zie code.
...voor de beginnende php'er?...zoals ik.
<?php
/////////////////////////////////////////////////////////////////////////////////
// voorbeeld #1 //
// lees een feed zonder caching //
// //
// Aangepast/Toegevoegd 25 augustus 2014. Afgestemd op RSS feed Volleybal.nl //
// met dank aan FangorN (Thomas van den Heuvel). //
/////////////////////////////////////////////////////////////////////////////////
require("class.rss20.php"); // include class-file
function Vertaal()
{
global $datum;
//extract gegevens van pubDate bv. "Wed, 25 Aug 2014 19:32:29 +0200" welke gezien wordt als string!! Is nu CEST.
$dag = substr($datum, 0, 3);
$dagnum = substr($datum, 5, 2);
$maand = substr($datum, 8, 3);
$jaar = substr($datum, 12, 4);
$tijd = substr($datum, 17, 5);
//vertalen dag
if($dag == "Mon"){$day = "maandag";}
elseif($dag == "Tue"){$dag = "dinsdag";}
elseif($dag == "Wed"){$dag = "woensdag";}
elseif($dag == "Thu"){$dag = "donderdag";}
elseif($dag == "Fri"){$dag = "vrijdag";}
elseif($dag == "Sat"){$dag = "zaterdag";}
elseif($dag == "Sun"){$dag = "zondag";}
//vertalen maand
if($month == "Jan"){$month = "januari";}
elseif($maand == "Feb"){$maand = "februari";}
elseif($maand == "Mar"){$maand = "maart";}
elseif($maand == "Apr"){$maand = "april";}
elseif($maand == "May"){$maand = "mei";}
elseif($maand == "Jun"){$maand = "juni";}
elseif($maand == "Jul"){$maand = "juli";}
elseif($maand == "Aug"){$maand = "augustus";}
elseif($maand == "Sep"){$maand = "september";}
elseif($maand == "Nov"){$maand = "november";}
elseif($maand == "Dec"){$maand = "december";}
// opbouwen nieuwe $datum met extra tekst
$datum = $dag.", ".$dagnum." ".$maand." ".$jaar." om ".$tijd." uur.";
}
$rss = new rss20(); // maak een rss-object aan
$rss->newfile("http://www.volleybal.nl/application/handlers/export.php?format=rss&type=news"); // lees een externe feed (zonder caching)
//bovenstaande link verwijst naar een applicatie met de feed als output....dus bij aanroepen uptodate !!!, zie pubDate van de channel.
$rss->parse(); // parse de XML-file
?>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head>
<link href="../Douze_sheet.css" rel="stylesheet" type="text/css">
<h3>Nevobo nieuws</h3>
<h4>
<?php
//CHANNEL
$channelInfo = $rss->get_channel_info(0);
$datum = $channelInfo['pubDate'];
Vertaal(); //ontleed de string ($datum) en bouwt deze weer in het nederlands op, return $datum, funktie wordt ook bij items gebruikt
$titel = substr($channelInfo['title'], 0, 8);//Eerste deel van title.
$titel2 = substr($channelInfo['title'], 9, 12);//Tweede deel van title.
$link = "<a href=\"".$channelInfo['link']."\" target=\"_blank\">".$titel2."</a>";
$email = "<a href = mailto:".substr($channelInfo['webMaster'], 0, 14).">mail</a>"; //webMaster bevat naast het emailadres ook andere tekst die wordt eruit gefilterd.
echo "<h5><i>".$titel." ".$link.". Aangemaakt op ".$datum." (".$email." Nevobo)</i></h5><br>\n";// echo strings genaakt uit channelInfo
//END CHANNEL
//ITEMS
$items = $rss->get_items(0); // aantal items in channel 0
// de informatie die je wilt afdrukken hangt af van wat er in de feed aangeboden wordt en
// wat je zelf wilt laten zien, deze zal dus niet altjd hetzelfde zijn
for($i=0; $i < sizeof($items); $i++)
{
echo "<b><i><a href=\"".$items[$i]['link']."\" target=\"_blank\">".$items[$i]['title']."</a></i></b><br>\n";
$datum = $items[$i]['pubDate'];
Vertaal();
echo "<h5><i>Geplaatst op ".$datum."<br><br></i></h5>\n";
echo strip_tags($items[$i]['description']); //Nevobo gebruikt relatieve links in de description, geeft niet werkende links. Hier worden alle "code" verwijdert uit de description.
echo "<br><br>\n";
}
//END ITEMS
$rss->free_parser(); // geef de parser weer vrij
unset($rss); // als je meerdere feeds op een pagina wilt zetten moet je het object unsetten (of een andere var-naam gebruiken)
?></h4>
<?php ///////////////////////////////////////////////////////////////////////////////// // voorbeeld #1 // // lees een feed zonder caching // // // // Aangepast/Toegevoegd 25 augustus 2014. Afgestemd op RSS feed Volleybal.nl // // met dank aan FangorN (Thomas van den Heuvel). // ///////////////////////////////////////////////////////////////////////////////// require("class.rss20.php"); // include class-file function Vertaal() { //extract gegevens van pubDate bv. "Wed, 25 Aug 2014 19:32:29 +0200" welke gezien wordt als string!! Is nu CEST. $dagnum = substr($datum, 5, 2); $maand = substr($datum, 8, 3); $jaar = substr($datum, 12, 4); $tijd = substr($datum, 17, 5); //vertalen dag if($dag == "Mon"){$day = "maandag";} elseif($dag == "Tue"){$dag = "dinsdag";} elseif($dag == "Wed"){$dag = "woensdag";} elseif($dag == "Thu"){$dag = "donderdag";} elseif($dag == "Fri"){$dag = "vrijdag";} elseif($dag == "Sat"){$dag = "zaterdag";} elseif($dag == "Sun"){$dag = "zondag";} //vertalen maand if($month == "Jan"){$month = "januari";} elseif($maand == "Feb"){$maand = "februari";} elseif($maand == "Mar"){$maand = "maart";} elseif($maand == "Apr"){$maand = "april";} elseif($maand == "May"){$maand = "mei";} elseif($maand == "Jun"){$maand = "juni";} elseif($maand == "Jul"){$maand = "juli";} elseif($maand == "Aug"){$maand = "augustus";} elseif($maand == "Sep"){$maand = "september";} elseif($maand == "Nov"){$maand = "november";} elseif($maand == "Dec"){$maand = "december";} // opbouwen nieuwe $datum met extra tekst $datum = $dag.", ".$dagnum." ".$maand." ".$jaar." om ".$tijd." uur."; } $rss = new rss20(); // maak een rss-object aan $rss->newfile("http://www.volleybal.nl/application/handlers/export.php?format=rss&type=news"); // lees een externe feed (zonder caching) //bovenstaande link verwijst naar een applicatie met de feed als output....dus bij aanroepen uptodate !!!, zie pubDate van de channel. $rss->parse(); // parse de XML-file ?> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head> <link href="../Douze_sheet.css" rel="stylesheet" type="text/css"> <h3>Nevobo nieuws</h3> <h4> <?php //CHANNEL $channelInfo = $rss->get_channel_info(0); $datum = $channelInfo['pubDate']; Vertaal(); //ontleed de string ($datum) en bouwt deze weer in het nederlands op, return $datum, funktie wordt ook bij items gebruikt $titel = substr($channelInfo['title'], 0, 8);//Eerste deel van title. $titel2 = substr($channelInfo['title'], 9, 12);//Tweede deel van title. $link = "<a href=\"".$channelInfo['link']."\" target=\"_blank\">".$titel2."</a>"; $email = "<a href = mailto:".substr($channelInfo['webMaster'], 0, 14).">mail</a>"; //webMaster bevat naast het emailadres ook andere tekst die wordt eruit gefilterd. echo "<h5><i>".$titel." ".$link.". Aangemaakt op ".$datum." (".$email." Nevobo)</i></h5><br>\n";// echo strings genaakt uit channelInfo //END CHANNEL //ITEMS $items = $rss->get_items(0); // aantal items in channel 0 // de informatie die je wilt afdrukken hangt af van wat er in de feed aangeboden wordt en // wat je zelf wilt laten zien, deze zal dus niet altjd hetzelfde zijn for($i=0; $i < sizeof($items); $i++) { echo "<b><i><a href=\"".$items[$i]['link']."\" target=\"_blank\">".$items[$i]['title']."</a></i></b><br>\n"; $datum = $items[$i]['pubDate']; Vertaal(); echo "<h5><i>Geplaatst op ".$datum."<br><br></i></h5>\n"; echo strip_tags($items[$i]['description']); //Nevobo gebruikt relatieve links in de description, geeft niet werkende links. Hier worden alle "code" verwijdert uit de description. } //END ITEMS $rss->free_parser(); // geef de parser weer vrij unset($rss); // als je meerdere feeds op een pagina wilt zetten moet je het object unsetten (of een andere var-naam gebruiken) ?></h4>
|