od wczoraj walczę z podstroną mojej strony gdzie
wczytuję wiadomości z innej strony za pomocą RSS
przy czym problem tkwi w rozbieżności kodowania
Moja strona jest w UTF8 a źródło w iso 8859-2
pokazuje mi czystą stronę
na chwile obecna mam coś takiego :
Kod:
plik feed.php
<?php function plCharset($string, $type = ISO88592_TO_UTF8) { "\xb9" => "\xc4\x85", "\xa5" => "\xc4\x84", "\xe6" => "\xc4\x87", "\xc6" => "\xc4\x86", "\xea" => "\xc4\x99", "\xca" => "\xc4\x98", "\xb3" => "\xc5\x82", "\xa3" => "\xc5\x81", "\xf3" => "\xc3\xb3", "\xd3" => "\xc3\x93", "\x9c" => "\xc5\x9b", "\x8c" => "\xc5\x9a", "\xbf" => "\xc5\xbc", "\x8f" => "\xc5\xbb", "\x9f" => "\xc5\xba", "\xaf" => "\xc5\xb9", "\xf1" => "\xc5\x84", "\xd1" => "\xc5\x83" ); "\xb1" => "\xc4\x85", "\xa1" => "\xc4\x84", "\xe6" => "\xc4\x87", "\xc6" => "\xc4\x86", "\xea" => "\xc4\x99", "\xca" => "\xc4\x98", "\xb3" => "\xc5\x82", "\xa3" => "\xc5\x81", "\xf3" => "\xc3\xb3", "\xd3" => "\xc3\x93", "\xb6" => "\xc5\x9b", "\xa6" => "\xc5\x9a", "\xbc" => "\xc5\xba", "\xac" => "\xc5\xb9", "\xbf" => "\xc5\xbc", "\xaf" => "\xc5\xbb", "\xf1" => "\xc5\x84", "\xd1" => "\xc5\x83" ); if ($type == ISO88592_TO_UTF8) if ($type == UTF8_TO_ISO88592) if ($type == WIN1250_TO_UTF8) if ($type == UTF8_TO_WIN1250) if ($type == ISO88592_TO_WIN1250) "\xa5\x8c\x8f\xb9\x9c\x9f"); if ($type == WIN1250_TO_ISO88592) "\xa1\xa6\xac\xb1\xb6\xbc"); } function pokazRSS($adres, $ilosc=5) { $xmldata=''; $xmlparser=xml_parser_create(); xml_parse_into_struct($xmlparser,$xmldata,$values,$indexes); xml_parser_free($xmlparser); $tytul=''; $opis=''; $link=''; $wynik=''; $i=0; { if ($values[$i]['tag']=='TITLE') $tytul=$values[$i]['value']; if ($values[$i]['tag']=='DESCRIPTION') $opis=$values[$i]['value']; if ($values[$i]['tag']=='LINK') $link=$values[$i]['value']; $i++; } $i++; //$wynik.='RSS: <a href="'.$link.'">'.$tytul.'</a><br />'; while ($i<count($values) && $ilosc>0) { $wiad_tytul=''; $wiad_opis=''; $wiad_link=''; $wiad_pubd=''; { { if ($values[$i]['tag']=='TITLE') $wiad_tytul=$values[$i]['value']; if ($values[$i]['tag']=='DESCRIPTION') $wiad_opis=$values[$i]['value']; if ($values[$i]['tag']=='LINK') $wiad_link=$values[$i]['value']; if ($values[$i]['tag']=='PUBDATE') $wiad_pubd=$values[$i]['value']; } $i++; } $wynik.='<div><b>'.$wiad_tytul.' '.$wiad_pubd.'</b><br />'.$wiad_opis.' <a href="'.$wiad_link.'">Wiecej</a><hr size="1"></div>'; $i++; $ilosc--; } return plCharset($wynik,ISO88592_TO_UTF8); } ?>
oraz plik wykonawczy rss.php
<?php include_once "page/rss/news/feed.php"; pokazRSS('http://moto.pl/pub/rss/motopl_hp.xml',5); ?>
Prosiłbym o pomoc jeżeli macie idee na to aby:
1/ wyświetlało newsy
2/ była możliwość automatycznego wczytywania newsów z jednego kanału i opcja wyboru z listy innych kanałów rss do wczytania
3/ by po wciśnięciu "więcej" wyświetlało cały tekst a nie odsyłało do źródła
4/ wyświetlało grafikę ze źródła
Przetrzepałem sporo stron i nigdzie nie znalazłem dobrego rozwiązania.
Myślę że ten wątek pomoże wielu osobom.