powerbook_blog

klein, praktisch, unverdaulich seit 2004

simplepie und lastBuildDate

| 1 Kommentar

SimplePie ist eine hübsch-handliche PHP-Klasse, die man netzen kann, wenn man RSS-Feeds irgendwie auswerten/weiterverwerten will. Ich habe mir ein kleines Script geschreiben, was mir die Inhalte der Feed eines Nischenthemas in eine Datenbank schreibt und mir dann daraus ein Didgest generiert. Warum es aber in simplepie keine Funktion gibt, um das lastBuildDate des Feeds auszulesen, ist mir schleierhaft. Macht aber auch nichts.

Einfach die nachstehenden Zeilen nach Zeile 2342 in den Code der simplepie.inc kopieren und dann hat man eine Funktion get_lastBuildDate() von der man dann ganz bequem das Datum übergeben bekommt.
function get_lastBuildDate()
{
if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
}
elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
}
elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
}
elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
}
elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
}
elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'lastBuildDate'))
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
else
{
return null;
}
}

Ein Kommentar

  1. Warum nicht einfach SimplePie bei GitHub forken und das hier hinzufügen? Dann wird’s womöglich sogar übernommen und das „ist mir schleierhaft“ hat sich erledigt 😉

Schreib einen Kommentar zu Johannes Antworten abbrechen

Pflichtfelder sind mit * markiert.