Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyciąganie i definiowanie zmiennych z kilkoma separatorami
kowalcook
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 17.11.2005

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


witam,
mam taki mały problem, mianowicie mam taki oto adres http://www.krankenkassensuche.de/rechner/f...n.php?land_id=1

są tu wygenerowane z bazy dane ktore musze przetworzyć i zastosowac na innym site (adres powyżej jest afiliatem i nie mam dostępu do pliku źródłowgo)

jak wydać na pliku są 2 separatory ; który oddziela poszczególne dane(komórki) oraz spacja która oddziela poszczególne wpisy (rekordy) co gorsza spacja wystepuje też w nazwach co trochę komplikuje sprawe, musiałaby poprostu rozdzielać rekordy co 2 średniki i spacja

moje pytanie jest następujące
w jaki sposób mógłym wyciągnąc te dane z tej strony i przetworzyć je w php w pętli jako pojedyńcze wpisy

obrazując wyszło by coś takiego:
  1. <?php
  2. $dane1[0]; $dane2[0]; $dane3[0]
  3. $dane1[1]; $dane2[1]; $dane3[1]
  4. $dane1[2]; $dane2[2]; $dane3[2]
  5. itd
  6. ?>


dodatkowym utrudnieniem jest fakt iż ilość rekordów jest zmienna
http://www.krankenkassensuche.de/rechner/f...n.php?land_id=1 -> tu jest inna
http://www.krankenkassensuche.de/rechner/f...n.php?land_id=2 -> i tu jest inna itd


proszę o pomoc w jaki sposób mógłbym to zrobić
z góry wielkie dzięki
kowalcook

Ten post edytował kowalcook 22.08.2006, 13:24:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
oraz spacja która oddziela poszczególne wpisy (rekordy)
Jakbys zajrzal w zrodlo, to bys wiedzial ze to nie spacja a znak konca linii. To duza roznica.
Jest to zwykly csv i jest na niego wiele metod. Albo korzystasz z gotowych klas (mnostwo w sieci)
albo piszesz sam (pseudokod):
1)rozbijasz to najpierw po znakach konca wiersza (explode)
2)lecisz w petli po otrzymanej tablicy
3) dla kazdego elementu robisz explode po sredniku i dobierasz sie w ten sposob do kolumn w danym wierszu
Go to the top of the page
+Quote Post
My4tic
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 4.08.2005

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


Spacja to raczej tu nie może być separatorem bo masz ją w nazwach własnych. Co do reszty to http://pl2.php.net/manual/pl/function.explode.php

// edit

Widze, ze ktos mnie wyprzedził :-)

Ten post edytował My4tic 22.08.2006, 13:31:18
Go to the top of the page
+Quote Post
kszychu
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


A najlepiej na początku załadowąc to wszystko za pomocą file(). Wtedy mamy już każdą linijkę w osobnej komórce tablicy.
Go to the top of the page
+Quote Post
kowalcook
post
Post #5





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 17.11.2005

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


dzięki @nospor (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

rzeczywiście nie zajżałem w źródło pliku

nie ma to jak być spostrzegawczym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


dla zainteresowanych podaje kod jak to można zrobić

  1. <?php
  2. $location = "adres ścieżki z danymi";
  3. $html = @file_get_contents($location);
  4. $wyciag = explode("n", $html);  // gdzie "n" jest separatorem 1
  5. $ile = count($wyciag);
  6. $i = 1;
  7. while($i < $ile){
  8. $dane = explode(";", $wyciag[$i]);
  9.  
  10. echo "$dane[0] $dane[1] $dane[2]"; // przetwarzamy to jak uważamy za stosowne
  11. echo "<br>";
  12.  
  13. $i++;
  14. }
  15. ?>



jeszcze raz dzięki i pozdrawiam
kowacook

Ten post edytował kowalcook 22.08.2006, 14:20:53
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: 24.08.2025 - 09:04