Knižnica v PHP na vloženie RSS Spravodaja do Vašich stránok

Pretože používam knižnicu simplepie pre vkladanie RSS do kódu stránok Spravodaja, tak uvediem pre Vás príklad. Pokiaľ máte napríklad chuť v kóde svojich stránok zobrazovať RSS Spravodaja, tak je tento príklad zároveň veľmi ľahkou cestou k tomuto cieľu. Potrebujete iba stiahnuť simplepie a moju knižnicu Spravodaj RSS spravodaj.inc. Obe knižnice je nutné upraviť a to hlavne zadaním správnych ciest:
* simplepie.inc – nastavenie cesty ku cache adresáru (premenná $cache_location),
* spravodaj.inc – nastavenie cesty ku knižnici v riadku include('/path/to/simplepie.inc');
Vo Vašom kóde už iba vložíte <?php include('/path/to/spravodaj.inc');?> pričom nesmiete zabudnúť, že RSS spravodaja je vydávané v kódovaní UTF-8 a pokiaľ používate iné, tak ešte by ste mali použiť prekódovanie:


/* Konverzni funkce mezi UTF8, ISO-8859-2 a WINDOWS-1250, autor:blog@maly.cz */
$convUTF=array(195,129,196,140,196,142,195,137,196,154,195,141,
196,189,197,135,195,147,197,152,197,160,197,164,195,154,197,174,195,
157,197,189,195,161,196,141,196,143,195,169,196,155,195,173,196,190,
197,136,195,179,197,153,197,161,197,165,195,186,197,175,195,189,
197,190,195,132,195,139,195,150,195,156,195,164,195,171,195,182,195,
188,195,180,195,148);
$convISO=array(193,200,207,201,204,205,165,210,211,216,169,171,218,217,
221,174,225,232,239,233,236,237,181,242,243,248,185,187,250,
249,253,190,196,203,214,220,228,235,246,252,244,212);
$convWIN=array(193,200,207,201,204,205,188,210,211,216,138,141,218,217,221,
142,225,232,239,233,236,237,190,242,243,248,154,157,250,
249,253,158,196,203,214,220,228,235,246,252,244,212);
function utf2win($txt){
global $convUTF,$convWIN;
$out='';
$i=0;
while ($i<strlen($txt)){
$act=substr($txt,$i,1);
$z=ord($act);
if ($z>127){
$act2=substr($txt,$i+1,1);
$z2=ord($act2);
$i+=2;
$zn=-1;
for ($j=0;$j<count($convUTF);$j+=2){
if ($z==$convUTF[$j] && $z2==$convUTF[$j+1])
{$zn=$j/2; break;}
}
if ($zn>=0) $out.=chr($convWIN[$zn]); else $out.='~';
}
else {
$out.=chr($z);
$i++;
}
}
return $out;
}

function iso2win($s){
$iso=chr(0xb5).chr(0xb9).chr(0xbb).chr(0xbe).
chr(0xa5).chr(0xa9).chr(0xab).chr(0xae);
$win=chr(0xbe).chr(0x9a).chr(0x9d).chr(0x9e).
chr(0xbc).chr(0x8a).chr(0x8d).chr(0x8e);
return strtr($s,$iso,$win);
}

function win2iso($s){
$iso=chr(0xb5).chr(0xb9).chr(0xbb).chr(0xbe).
chr(0xa5).chr(0xa9).chr(0xab).chr(0xae);
$win=chr(0xbe).chr(0x9a).chr(0x9d).chr(0x9e).
chr(0xbc).chr(0x8a).chr(0x8d).chr(0x8e);
return strtr($s,$win,$iso);
}


V kóde spravodaj.inc potom iba vložíte funkciu iso2win (používate Windows-1250) na prekódovanie reťazca pred jeho vypísaní.

Môže sa Vám ešte páčiť...

6 komentárov

  1. dusoft píše:

    Realtime to nema zmysel tahat, treba robit cacheovanie.

  2. Hujer píše:

    [1] Proto je tam snad simplepie nie ?

  3. rony píše:

    [1] preto je tam snáď to simplepie, nie?

  4. dusoft píše:

    Prehliadol som to cache location.

  5. rony píše:

    [4] mimochodom:
    magpie je zle. magpie nebrat. magpie fuj.
    simplepie je dobre. simplepie pouzivat. simplepie mnam.
    :-)

  6. dusoft píše:

    Ja pouzivam:
    http://lastrss.oslab.net/
    ocenujem jednoduchost.