päivämäärä

net.php

limit = $limit;
$this->timestamps = array();
$this->resultSet = array();
$this->meta = array();

$this->xmlObject = @simplexml_load_file($url);
if($this->xmlObject == false) {
throw new Exception("Unable to get/parse data from $url"); //XML dataa ei kyetty jäsentämään
}
$this->parseData();
}

private static function parseTime($timeStr)
{
$month = array('Jan'=>1,'Feb'=>2,'Mar'=>3,'Apr'=>4,'May'=>5,'Jun'=>6,'Jul'=>7,'Aug'=>8,'Sep'=>9,'Oct'=>10,'Nov'=>11,'Dec'=>12);
$temp = sscanf($timeStr,"%s %d %s %d %d:%d:%d");
$temp[2] = $month[$temp[2]];
return mktime($temp[4],$temp[5],$temp[6],$temp[2],$temp[1],$temp[3]);
}
private function parseData()
{
$current = 0;
/* haetaan virran otsikko, kuvaus ja URL */
$this->meta[0] = utf8_decode($this->xmlObject->channel->title);
$this->meta[1] = (string)$this->xmlObject->channel->link;
$this->meta[2] = utf8_decode($this->xmlObject->channel->description);

/* käydään virtaa läpi kunnes raja tulee vastaa tai kaikki elementit on käyty läpi */
foreach($this->xmlObject->channel->item as $feedItem) {
$this->timestamps[] = $timestamp = self::parseTime($feedItem->pubDate);
$url = (string)$feedItem->link;
$title = utf8_decode((string)$feedItem->title);
$this->resultSet[] = array($timestamp,$url,$title);
if( $current > $this->limit)
break;
}
/* vapautetaan resursseja */
unset($this->xmlObject);
}
/* järjestää elementit kellonajan ja päivämäärän mukaan, joko nousevasti
* (RSSReader::sortASC) tai laskevasti (RSSReader::sortDESC)
*/
public function sort($order = self::sortDESC)
{
array_multisort($this->timestamps,$order,$this->resultSet);
}
public function getLink()
{
return $this->meta[1];
}
/* palauttaa RSS virran otsikon */
public function getTitle()
{
return $this->meta[0];
}
/* palauttaa RSS virran kuvauksen */
public function getDescription()
{
return $this->meta[2];
}
/* implementoidaan Iterator iteraattorissa määritelty metodin current() */
/* Palauttaa taulukon, joka sisältää data, johon iteraattori tällä hetkellä osoittaa */
public function current()
{
$res = array('timestamp' => $this->resultSet[$this->iterator][0],
'url' => $this->resultSet[$this->iterator][1],
'title' => $this->resultSet[$this->iterator][2]);
return array_merge($res,$this->resultSet[$this->iterator]);
}
/* implementoidaan Iterator iteraattorissa määritelty metodin next() */
/* siirrytään seuraavaan elementtiin */
public function next()
{
$this->iterator ;
}
/* implementoidaan Iterator iteraattorissa määritelty metodin key() */
public function key()
{
return $this->iterator;
}
/* implementoidaan Iterator iteraattorissa määritelty metodin rewind() */
/* siirrytään ensimmäiseen elementtiin */
public function rewind()
{
$this->iterator = 0;
}
/* implementoidaan Iterator iteraattorissa määritelty metodin valid() */
/* tutkitaan onko uusia elementtejä vielä jäljellä */
public function valid()
{
return ((count($this->resultSet) > $this->iterator) ? true : false);
}


}

/*ESIMERKKI:*/
$rss = new RSSReader("http://mureakuha.com/rss.php?stream=2");
$rss->sort(RSSReader::sortDESC);
echo 'getLink().'">'.$rss->getTitle().'';
foreach($rss as $item) {
printf('%s(%s)',$item['url'],$item['title'],date("d.m.Y H:i",$item['timestamp']));
}

Miten tästä koodista saa päivämäärän pois
# Yleistä Höpinää / "Mail for exchange" yhdistäminen toiseen palvelimeen?(26.10.2009 17:14)
Eli se näytää tuolla loppussa päivämäärän.Miten sen saa pois?

2

393

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa1

      se päivämäärä sinne tungetaan.

      Muuta se joksikin toiseksi esim.

      printf('%s %s',$item['url'],$item['title']);

      jos tulee jotai herjaa niin sitten lukemaan printf-metodin helppiä PHPn sivuilta.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Marin on ehkä maailman kaunein "Nelikymppinen"

      Marinin julkaisu on saanut yli 68 500 tykkäystä. Postauksen kommenttikentässä ylistetään paljon Marinin kauneutta, jota
      Maailman menoa
      393
      3905
    2. Vernu Vasunta

      On mahotonta miten marjanpoimijoita on kohdeltu! Eikö paremmalla kohtelulla olisi saanut paremman tuloksen?
      Suomussalmi
      135
      2720
    3. En kelpaa sinulle

      Varattuna - olen sinulle ongelma. Eroaminen vuoksesi voi olla turhaa, sillä me ei puhuta, kun olen varattu ja kumpikin v
      Ikävä
      129
      1887
    4. Taidat vanhempi nainen

      Haluta sen tien itsellesi. juokse vaan karkuun ! Pahentaa vaan asiaa.Pitäs toimia ihan toisin päin
      Ikävä
      73
      1330
    5. Venäjä aikoo yksipuolisesti muuttaa rajalinjauksia Suomenlahden itäosassa

      Venäjä aikoo muuttaa rajalinjauksia Suomenlahden itäosassa Venäjän saarten eteläpuolella. Ylen jutussa kerrotaan mm.
      Maailman menoa
      172
      1209
    6. Voi nainen...

      Kun luovutit meistä liian aikaisin, just kun aloin oppimaan sinua. Jos oisin alussa jo lukenut aiheesta oisin voinut toi
      Ikävä
      51
      1202
    7. Hetkeäänkään miettimättä ottaisin sinut

      Mutta mitä mieltä miehesi siitä olisi?
      Ikävä
      73
      1181
    8. Olisi kiva tietää miksi pidät minusta?

      Miehelle kysymys :)
      Ikävä
      64
      1135
    9. Naiselle kysymys

      Mitä oikein näet minussa?
      Ikävä
      51
      962
    10. Suomi lähettää tarkkailijoita merialueelle

      Venäjä on ilmoittanut aikovansa ylittää Suomen merialueen rajat kysymättä lupaa kertomalla että Suomen merialueen raj
      Maailman menoa
      291
      940
    Aihe