Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z XML i php
Forum PHP.pl > Forum > PHP
new_user
Witam

Mam plik xml w którym mam takie znaki &#haha.gif;
 z tego co wiem to sa to znaki entera w xml. Parsuję ten plik przy pomocy simplexml i dane wyrzucam do csv. Gdy plik csv otwieram w arkuszu kalkulacyjnym to wlasnie te znaki mi rozjezdzaja caly wyglad arkusza niestety nie mogę sobie poradzić z wyeliminowaniem tych znaków próbowałem przy pomocy str_replace itp czy mozna jakoś te znaki zamienić np na spacje.
mike
Cytat(new_user @ 9.04.2009, 14:16:32 ) *
(...)czy mozna jakoś te znaki zamienić np na spacje.
Można. Na przykład za pomocą wspomnianego przez Ciebie str_replace().
Pokaż jak to robisz bo zapewne popełniasz błąd.
new_user
oto linia która to przerabia
$dane = str_replace("&#haha.gif;
", " ", $paramatr[opis]);
powiem ze jak zamiast
$dane = str_replace("&#haha.gif;
", " ", $paramatr[opis]);
wpisze tam np
$dane = str_replace(" ", "aaa", $paramatr[opis]);
to zamienia ok
erix
html_entity_decode" title="Zobacz w manualu PHP" target="_manual; przykład jest na stronie manuala.
new_user
Bardzo dziekuje pomogło. Jednak pojawił się następny problem a mianowicie.
mam taki urywek kodu xml:
  1. <produkt id="AGDKALMIB" nazwa="Mikser" producent="KAL" grupa="AGD-MIB" dostepny="1">
  2.      <zdjecia>
  3.        <zdjecie plik="/Pictures/AGD/MIB/AGDKALMIB0002/1.jpg" domyslne="1" data="2008-06-04" />
  4.        <zdjecie plik="/Pictures/AGD/MIB/AGDKALMIB0002/2.jpg" domyslne="0" data="2008-06-04" />
  5.      </zdjecia>
  6. </produkt>
  7. <produkt id="AGDKALMIB" nazwa="Mikser" producent="KAL" grupa="AGD-MIB" dostepny="1">
  8. </produkt>

a w pliku php mam taki kod:
  1. <?php
  2. foreach ($produkty->produkt as $produkt) {
  3.        $produktatr = $produkt->attributes();
  4.        $dane .= $produktatr[id]."\t";
  5.        foreach ($produkt->zdjecia as $zdjecia) {
  6.        $zdjecieatr = $zdjecia->zdjecie[0]->attributes();
  7.        $dane .= $zdjecieatr[plik]."\t";            
  8.        }
  9. ?>

co jest nastepnie wypluwane do pliku csv rozdzielanego tabulatorami jak zrobic rozpoznanie i w przyadku gdy niem a wogole zdjęć żeby w to miejsce wstawiał natk "\t". Próbowałem robić to if
  1. <?php
  2. if($zdjecieatr[plik]){
  3.        $dane .= $zdjecieatr[plik]."\t";            
  4. }else{
  5.        $dane .= "\t";
  6. }
  7. ?>

oraz
  1. <?php
  2. if($zdjecieatr[plik]!=0){
  3.        $dane .= $zdjecieatr[plik]."\t";            
  4. }else{
  5.        $dane .= "\t";
  6. }
  7. ?>

Jednak to nic nie daje.

Ok neiaktualne w zlym miejscu stosowalem if.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.