phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
reklamy INVIA v XML a kódování
Zaslán uživatelem/kou: ATP (IP adresa zaznamenána)
Datum: 2007-07-13, 09:51

cestovka nabízí v partnerském programu přebírání reklam přes XML, výstup je ale UTF-8, web mám ve windows-1250. Zkoušel jsem to řešit na www.dgx.cz, kde je ke stažení nádhernej script na stahování XML. Bylo mi poraděno (myslím že správně) použít script pro převod entit, ale netuším jak ho použít. Zkuste na to někdo kouknout :)
<?php
//  UTF-8 to WINDOWS-1250
function utf2win($s)
{
    $s = preg_replace('#[^\x00-\x7F\xa0\xa4\xa6-\xa9\xab-\xae\xb0\xb1\xb4-\xb8\xbb\xc1\xc2\xc4\xc7\xc9\xcb\xcd\xce\xd3\xd4\xd6\xd7\xda\xdc\xdd\xdf\xe1\xe2\xe4\xe7\xe9\xeb\xed\xee\xf3\xf4\xf6\xf7\xfa\xfc\xfd\x{102}-\x{107}\x{10c}-\x{111}\x{118}-\x{11b}\x{139}\x{13a}\x{13d}\x{13e}\x{141}-\x{144}\x{147}\x{148}\x{150}\x{151}\x{154}\x{155}\x{158}-\x{15b}\x{15e}-\x{165}\x{16e}-\x{171}\x{179}-\x{17e}\x{2c7}\x{2d8}\x{2d9}\x{2db}\x{2dd}\x{2013}\x{2014}\x{2018}-\x{201a}\x{201c}-\x{201e}\x{2020}-\x{2022}\x{2026}\x{2030}\x{2039}\x{203a}\x{20ac}\x{2122}]#u', '', $s);
    static $tbl = array("\xe2\x82\xac"=>"\x80","\xe2\x80\x9a"=>"\x82","\xe2\x80\x9e"=>"\x84","\xe2\x80\xa6"=>"\x85","\xe2\x80\xa0"=>"\x86","\xe2\x80\xa1"=>"\x87","\xe2\x80\xb0"=>"\x89","\xc5\xa0"=>"\x8a","\xe2\x80\xb9"=>"\x8b","\xc5\x9a"=>"\x8c","\xc5\xa4"=>"\x8d","\xc5\xbd"=>"\x8e","\xc5\xb9"=>"\x8f","\xe2\x80\x98"=>"\x91","\xe2\x80\x99"=>"\x92","\xe2\x80\x9c"=>"\x93","\xe2\x80\x9d"=>"\x94","\xe2\x80\xa2"=>"\x95","\xe2\x80\x93"=>"\x96","\xe2\x80\x94"=>"\x97","\xe2\x84\xa2"=>"\x99","\xc5\xa1"=>"\x9a","\xe2\x80\xba"=>"\x9b","\xc5\x9b"=>"\x9c","\xc5\xa5"=>"\x9d","\xc5\xbe"=>"\x9e","\xc5\xba"=>"\x9f","\xc2\xa0"=>"\xa0","\xcb\x87"=>"\xa1","\xcb\x98"=>"\xa2","\xc5\x81"=>"\xa3","\xc2\xa4"=>"\xa4","\xc4\x84"=>"\xa5","\xc2\xa6"=>"\xa6","\xc2\xa7"=>"\xa7","\xc2\xa8"=>"\xa8","\xc2\xa9"=>"\xa9","\xc5\x9e"=>"\xaa","\xc2\xab"=>"\xab","\xc2\xac"=>"\xac","\xc2\xad"=>"\xad","\xc2\xae"=>"\xae","\xc5\xbb"=>"\xaf","\xc2\xb0"=>"\xb0","\xc2\xb1"=>"\xb1","\xcb\x9b"=>"\xb2","\xc5\x82"=>"\xb3","\xc2\xb4"=>"\xb4","\xc2\xb5"=>"\xb5","\xc2\xb6"=>"\xb6","\xc2\xb7"=>"\xb7","\xc2\xb8"=>"\xb8","\xc4\x85"=>"\xb9","\xc5\x9f"=>"\xba","\xc2\xbb"=>"\xbb","\xc4\xbd"=>"\xbc","\xcb\x9d"=>"\xbd","\xc4\xbe"=>"\xbe","\xc5\xbc"=>"\xbf","\xc5\x94"=>"\xc0","\xc3\x81"=>"\xc1","\xc3\x82"=>"\xc2","\xc4\x82"=>"\xc3","\xc3\x84"=>"\xc4","\xc4\xb9"=>"\xc5","\xc4\x86"=>"\xc6","\xc3\x87"=>"\xc7","\xc4\x8c"=>"\xc8","\xc3\x89"=>"\xc9","\xc4\x98"=>"\xca","\xc3\x8b"=>"\xcb","\xc4\x9a"=>"\xcc","\xc3\x8d"=>"\xcd","\xc3\x8e"=>"\xce","\xc4\x8e"=>"\xcf","\xc4\x90"=>"\xd0","\xc5\x83"=>"\xd1","\xc5\x87"=>"\xd2","\xc3\x93"=>"\xd3","\xc3\x94"=>"\xd4","\xc5\x90"=>"\xd5","\xc3\x96"=>"\xd6","\xc3\x97"=>"\xd7","\xc5\x98"=>"\xd8","\xc5\xae"=>"\xd9","\xc3\x9a"=>"\xda","\xc5\xb0"=>"\xdb","\xc3\x9c"=>"\xdc","\xc3\x9d"=>"\xdd","\xc5\xa2"=>"\xde","\xc3\x9f"=>"\xdf","\xc5\x95"=>"\xe0","\xc3\xa1"=>"\xe1","\xc3\xa2"=>"\xe2","\xc4\x83"=>"\xe3","\xc3\xa4"=>"\xe4","\xc4\xba"=>"\xe5","\xc4\x87"=>"\xe6","\xc3\xa7"=>"\xe7","\xc4\x8d"=>"\xe8","\xc3\xa9"=>"\xe9","\xc4\x99"=>"\xea","\xc3\xab"=>"\xeb","\xc4\x9b"=>"\xec","\xc3\xad"=>"\xed","\xc3\xae"=>"\xee","\xc4\x8f"=>"\xef","\xc4\x91"=>"\xf0","\xc5\x84"=>"\xf1","\xc5\x88"=>"\xf2","\xc3\xb3"=>"\xf3","\xc3\xb4"=>"\xf4","\xc5\x91"=>"\xf5","\xc3\xb6"=>"\xf6","\xc3\xb7"=>"\xf7","\xc5\x99"=>"\xf8","\xc5\xaf"=>"\xf9","\xc3\xba"=>"\xfa","\xc5\xb1"=>"\xfb","\xc3\xbc"=>"\xfc","\xc3\xbd"=>"\xfd","\xc5\xa3"=>"\xfe","\xcb\x99"=>"\xff");
    return strtr($s, $tbl);
}
?>

ten script co stahuje XML je zde: [http://kryl.info/invia/get-invia-xml.phps]

=== update 2007-07-13 11:10 - vyřešeno samotným autorem scriptu a to následovně - cituji:

je potreba funkci pridat do samotneho kodu skriptu, treba pred
/* thanks to dgx ! [http://www.dgx.cz/trine/] */

a potom pri zobrazovani tabulku jeste tuto funkci zavolat na vsechny texty, ktere jdou na vystup

echo "<td><h3><a href=\"".$v['url']."\">".$v['hotel']."</a></h3>".

upravit na

echo "<td><h3><a href=\"".$v['url']."\">".utf2win($v['hotel'])."</a></h3>".

[http://infoportal.oslavany-cz.eu/]



Celkem upraveno 1×. Poslední úprava ATP v 13.07.2007 11:08.

Re: reklamy INVIA v XML a kódování
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-07-14, 11:24

lepsi by bylo prekodovat ty texty pomoci funkci iconv, vice v manualu k php v casti iconv

Re: reklamy INVIA v XML a kódování
Zaslán uživatelem/kou: ATP (IP adresa zaznamenána)
Datum: 2007-07-14, 11:27

neumim :(
ono v tomhle konkrétním případě jde pouze o název rekreačního místa a když místo polopenze je "snídaně"



Celkem upraveno 1×. Poslední úprava ATP v 14.07.2007 11:35.

Re: reklamy INVIA v XML a kódování
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-07-14, 11:37

ATP napsal/a:
-------------------------------------------------------
> neumim :(

to jako neumis cist?
pouziti funkce iconv je snad dost jednoduche, staci se jen kouknout do toho manualu [http://www.php.net/manual/en/function.iconv.php] a pak misto utf2win($v['hotel']) napsat iconv('UTF-8', 'CP1250', $v['hotel'])




Celkem upraveno 1×. Poslední úprava MirekS v 14.07.2007 11:39.



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.