![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem i to chyba problem z wbudowanymi funkcjami XML w PHP ... Jest sobie XML (kodowany w UTF-8): Kod <?xml version="1.0" encoding="UTF-8"?> (...) <contact:street>Marszałkowska 50 / 33</contact:street> (...) I funkcja prase'ująca: Kod function xml_tag_parser( $xml_text, &$xml_arr) { // Wlasciwa funkcja parsujaca xmla // Wywolanie: // $xml_text - kod xml do sparsowania, // $xml_arr - wynikowa tablica xml // Zwraca - wartosc tablicy $xml_arr global $stack; $no=0; // przygotowanie tablicy $stack $stack=array( 0=>array( "tag"=>"xml", "level"=>0, "child"=>array())); $xml_parser = xml_parser_create("UTF-8"); xml_set_element_handler($xml_parser, "startTag", "endTag"); xml_set_character_data_handler($xml_parser, "cdata"); xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,FALSE); if( !xml_parse($xml_parser,$xml_text)) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); }; xml_parser_free($xml_parser); $xml_arr = $stack[0]["child"]; array_pop( $stack); return $xml_arr; }; Kod wrzucany do funkcji jak powyzej... a w zwracanej tablicy otrzymuje: Kod (...) [value] => łkowska 50 / 33 (...) Co jest? Co moge zrobic zeby dzialalo to poprawnie?? Z gory dziekuje za pomoc, Pozdrawiam, FlashT |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 12 Dołączył: 27.01.2007 Skąd: north Poziom: 158 Tytuł: Miszcz Ostrzeżenie: (0%) ![]() ![]() |
Źle przechowujesz dane w xml. Przed zapisem użyj iconv aby przekonwertować ISO-8859-2 do UTF-8, odwrotnie przy odczytywaniu.
-------------------- Blog | plugin system by carbolymer
Residence: #php.pl @ IRCNet "Pralki powstały po to, aby kobiety też mogły programować" |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 23:31 |