Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Konwersja HTML do CSV
Spooky2
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.06.2007

Ostrzeżenie: (0%)
-----


Witam. Mam taki problem. Nie moge sobie poradzic z poprawna konwersja htmla do csv. Chodzi dokladnie o wyciag z mBanku, ktory mam w htmlu, a ktory chcialbym zapisac do csv, aby miec pozniej mozliwosc swobodnego czytania i obrabiania zapisanych w nim wartosci. Glowny problem mam z usunieciem spacji i pustych linii ;-( Moze ktos cos robil takiego. Trim nie daje efektu, oniewaz puste linie i tak pozostaja, poza tym, do pliku wyjsciowego trafiaja tez "puste pola" - to znaczy spacje...
Chcialem to zrobic tak,(nie wiem czy dobrze mysle), aby oczyscic ze wszystkich zbednych znakow (tagow htmlowych sie pozbylem) tzn spacji tabulatorow (w wybranych miejscach), i umiescic kazda wartosc w osobnej linii, nastepnie zczytac ja np file i dodawac do kazdej zczytanej wartosci z tablicy znak ',', albo ";". W teorii wygladalo to pieknie, w rzeczywistosci znacznie gorzej... Moze ktos cos podpowie. Dodam, ze szukalem na php.net roznych funkcji - tu chyba czegos bardziej wysublimowanego :-) uzylem fgetss trim...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Pokaż budowę pliku html i przedstaw jaki CSV chciałbyś z niego otrzymać. Dodatkowo mógłbyś zaprezentować kod PHP, który już masz. Możemy Ci poradzić, ale na pewno nie zrobimy tego za Ciebie.
Go to the top of the page
+Quote Post
Spooky2
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.06.2007

Ostrzeżenie: (0%)
-----


Hmm, ok, kod pokaze jutro, bo zostawilem go na innym kompie. Struktura jest dosyc prosta... chociaz moze nie do konca, bo gdyby tak bylo, pewnie bym sobie poradzil :-)

No wiec ukulalem cos takiego. Moze i nie jest ladne, ale moje :-) Problem stanowia wg mnie, blizej nieokreslone znaki (spacje?) wystepujace przewaznie na koncu stringow np przy kwotach i dacie...
Nie wiem co to za znaki, poniewaz probowalem wwszystkich oznaczen i nie moge tego wyciac...
Prosze o pomoc.

  1. <?php
  2. uchwyt = @fopen ("print.html", "r");
  3. touch('plik');
  4. $uchwyt2 = fopen('plik', 'w+');
  5.  
  6.  
  7. if($uchwyt) 
  8. {
  9. while (!feof($uchwyt)) 
  10. {
  11. $buffer = fgetss($uchwyt, 9999, "<br>");
  12. if((ereg("[frtvn]{1,}", $buffer) && !ereg("[a-zA-Z0-9]", $buffer)) || ereg("[ ]", $buffer) && !ereg("[a-zA-Z0-9]", $buffer))
  13. {
  14. //echo "nie zaspisuje: ";
  15. //echo $buffer;
  16. //fwrite($uchwyt2, $buffer);
  17. }
  18. else
  19. {
  20.  
  21. if(ereg("[0-9]{2}-[0-9]{2}-[0-9]{4}", $buffer))
  22. {
  23. $buffer = str_replace("<br>", "","", $buffer);
  24. $buffer = strip_tags($buffer);
  25.  
  26.  $tab = split("<br>", $buffer);
  27.  $tab[0] = """.$tab[0]."",";
  28.  $tab[1] = """.$tab[1];  
  29.  
  30.  $linia = $linia."".$tab[0]."".$tab[1];
  31. }
  32. else
  33. {
  34. $buffer = str_replace("<br>", " ", $buffer);
  35. $buffer = strip_tags($buffer);
  36. while(ereg("", $buffer) || ereg("[t]$", $buffer) || ereg(" $", $buffer))
  37.  {
  38. $buffer = trim($buffer, " ");
  39.  }
  40.  if(ereg("PLN", $buffer))
  41.  {
  42. printf("zapisywana linia: %s", $linia);
  43. fwrite($uchwyt2, $linia);
  44. $linia = NULL;
  45.  }
  46.  else
  47.  {
  48. $buffer = """.$buffer."",";
  49.  }
  50.  if(!ereg("PLN", $buffer))
  51.  {
  52. $linia = $linia."".$buffer;
  53.  }
  54. //fwrite($uchwyt2, $buffer);
  55.  }
  56. }
  57. }
  58. }
  59. ?>


Niestety plik wyglada tak

"21-06-2007","21-06-2007
",""PRZELEW ZEWNĘTRZNY PRZYCHODZˇCY EOKS LUKASZ ZAKRZEWICE 36 63-530 BOGUSZYN WLKP 59132000190099041520000398 ABONAMENT Wpłata w UP nr:007196070619AL#70087
","49,00
","102,38
","21-06-2007","21-06-2007
",""PRZELEW ZEWNĘTRZNY PRZYCHODZˇCY WOJTKOWSKI MAREK UL.NOWOMIEJSKA 20 M.7 62-320 KOZMIN 50102041600000290200178145 ABONAMENT
","49,00
","53,38
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 00:09