| Schrijver |
Bericht |
spinlock Forum Lid
3 posts |
# Geplaatst: 25 Jan 2010 16:41 · Aangepast door: spinlock
Hallo,
Zoals de titel al zegt: "Ik wil graag meerdere RSS feeds inlezen met behulp van PHP". Een feed inlezen lukt me wel, alleen de logica ontgaat mij een beetje om 2 in te kunnen lezen.
Wat ik al heb:
php code<?php
$xml = simplexml_load_file('Feed 1'); // Feed 1
$xml2 = simplexml_load_file('Feed 2'); // Feed 2
foreach ($xml->channel->item as $item)
{
echo "<a href=\"$item->link\">";
echo $item->title."</a>(".$item->pubDate.")<br>";
}
foreach ($xml2->channel->item as $item2)
{
echo "<a href=\"$item2->link\">";
echo $item2->title."</a>(".$item2->pubDate.")<br>";
}
?>
Dit weergeeft keurig alle feeds onder elkaar, dus ook de feeds van Feed 2 worden keurig onder Feed 1 weergegeven op datum.
Maar ik wil graag dat Feed 2 tussen Feed 1 komt en dan sorteren op datum. Weet iemand hier een oplossing voor? Ik zelf weet niet echt hoe ik dat begin kan maken.
Mvg,
SpinLock
|
| |
|
DNA Forum Lid
7165 posts |
# Geplaatst: 25 Jan 2010 18:16
beide feeds in een array stoppen en die dan weer uitlezen?
|
egaTniv Forum Lid
2675 posts |
# Geplaatst: 25 Jan 2010 18:39 · Aangepast door: egaTniv
je vergeet het moeilijkste :P
sorteren op datum ^^
Ik ben er ook mee bezig, zal later posten wat ik heb.
edit:
Zoals gezegd prop je de hele feed in een array.
tegelijkertijd houd je een ander array bij, waarin je alleen de datum zet.
Dat datum array gaan we sorteren en daarna de key gebruiken om de feed array te tonen op volgorde van de datumarray.
De datum array moet je als volgt vullen (ik heb het al een beetje gehusselt voor het idee):
php code//datums zoals ze in een rss feed horen te staan
$datumArray = array(
3 => strtotime("Sun, 24 Jan 2010 02:53:43 +0100"),
1 => strtotime("Tue, 19 Jan 2010 06:40:58 +0100"),
2 => strtotime("Mon, 18 Jan 2010 07:59:32 +0100"),
0 => strtotime("Thu, 21 Jan 2010 10:14:24 +0100") );
arsort($datumArray); //sorteren
Nu kun je met een foreach door de datumarray lopen en de key gebruiken om je "feed"array uit te lezen.
|
spinlock Forum Lid
3 posts |
# Geplaatst: 25 Jan 2010 18:59 · Aangepast door: spinlock
Ja dankje :) Dat sorten op datum lukt me niet echt nee, dat in array's stoppen heb ik al :)
Alleen bij het sorteren op datum loop ik nogal mee vast nu...:p
EDIT: Ik zal je edit even doorlezen :p
|
egaTniv Forum Lid
2675 posts |
# Geplaatst: 25 Jan 2010 18:59 · Aangepast door: egaTniv
zie mn edit :p
edit :P
ONGEVEER zou dit moeten werken:
edit:nogmaals geedit ^^
php code<?php
$xml = simplexml_load_file('Feed 1'); // Feed 1
$xml2 = simplexml_load_file('Feed 2'); // Feed 2
$xmlArray = array(); //houd de link, titel en datum bij
//houd alleen de datums bij waarop we gaan sorteren
$datumArray = array();
foreach ($xml as $item)
{
array_push($xmlArray, "<a href=".$item->link.">".$item->title."</a>(".$item->pubDate.")<br>");
array_push($datumArray, strtotime($item->pubDate));
}
foreach ($xml2 as $item2)
{
array_push($xmlArray, "<a href=".$item2->link.">".$item2->title."</a>(".$item2->pubDate.")<br>");
array_push($datumArray, strtotime($item2->pubDate));
}
arsort($datumArray);
foreach($datumArray as $key =>$val)
{
echo xmlArray[$val];
}
?>
|