php nasıl rss feed içinde eski öğenin tarihini kapmak yok

2 Cevap php

Bir besleme ayrıştırmak SimpleXML kullanarak, ama ben yem eski öğenin tarihini kapmak istiyorum. Herkes bunu biliyor mu? Teşekkürler

$ Rss = simplexml_load_file("http://search.twitter.com/search.atom?lang=en&q=foobar&rpp=100&page=1");

2 Cevap

If you simply want to get the last <entry>element (in document-order) you can use SimpleXMLElement::xpath() and the last() function
http://www.w3.org/TR/xpath/ says:

child::para[position()=last()] selects the last para child of the context node

örneğin

$url = "http://search.twitter.com/search.atom?lang=en&q=foobar&rpp=100&page=1"; 
$feed = simplexml_load_file($url);
$feed->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');

$entry = $feed->xpath('//atom:entry[position()=last()]');
if ( isset($entry[0]) ) {
  $entry = $entry[0];
}
else {
  die('not found');
}
var_dump($entry);

[position()=last()] [last()] kısaltılmış olabilir

Eski giriş belge için son giriş değilse, başka bir şey gerekir.

  1. İlk RSS beslemesi tüm öğeleri almak ve this gibi bir dizi şey saklayın.

  2. Now sort array by date.

  3. Lütfen Sıralamanın bağlı ilk / son sonuç alın.