Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] pobranie stanów konta
Forum PHP.pl > Forum > Przedszkole
rybosom
Witam, poprzez curl loguję się do mBanku i pobieram wszystko (cały html), następnie usuwam html i spacje poprzez

  1. $dane = preg_replace('/\s\s+/', ' ', strip_tags(curl_exec($html)));


Output wygląda to mniej więcej tak (1 linijka tekstu):
Kod
mBank mBankSerwis transakcyjny ? Wyloguj sięWiadomo¶ciOferta dla CiebieWnioskiRachunkiKartyKredytyInwestycjeLokatyUbezpieczeniaEmeryturaTelefonia
Operacje do potwierdzeniaUstawienia i konfiguracjaKontakt z mLini± Aby prawidłowo korzystać ze stron systemu transakcyjnego, należy wł±czyć w przegl±darce obsługę JavaScript. Jeżeli nie wiesz jak to zrobić, skorzystaj z pomocy jej producenta. xxx xxx Udane logowanie : 02-01-2012, 19:27Nieudane logowanie : 13-01-2010, 09:50 ?Oferta dla Ciebie Jeste¶ naszym stałym Klientem, dlatego przygotowali¶my dla Ciebie specjaln± ofertę: Karta kredytowa z limitem do 2800 - oferta ważna do 2012-01-16 - Kliknij i wybierz kartę dla siebie. Zyskaj dodatkowe ¶rodki zawsze pod ręk±...Kredyt gotówkowy z limitem do 14000 - oferta ważna do 2012-01-16 - Kliknij lub zadzwoń a pieni±dze trafi± na Twoje konto w ci±gu 15 minut...Kredyt odnawialny/Podw­yższenie do kwoty 2800 - oferta ważna do 2012-01-16 - Złóż wniosek i zyskaj dodatkowe pieni±dze na Twoim eKONCIE, dostępne w każdej chwili... Zamknij ?Dostępne rachunki Numer rachunkuSaldoDostępne ¶rodkieKONTO 23 1140 2004 0000 xxxx xxxx xxxx215,09 PLN215,09 PLNPrzelew jednorazowyPrzelew własnyHistoria operacjiOdbiorcy zdefiniowanieMAX EUR 36 1140 2004 0000 xxxx xxxx xxx0,00 EUR0,00 EURPrzelew własnyHistoria operacjiOdbiorcy zdefiniowanieMAX plus 50 1140 2004 0000 xxx xxx xxx0,00 PLN0,00 PLNPrzelew własnyHistoria operacjiOdbiorcy zdefiniowaniSuma215,09 PLN0,00 EUR215,09 PLN0,00 EUR


Jak w prosty sposób pobrać salda i dostępne środki 3 rachunków oraz ich sumy, łącznie 8 stringów?

Poprzez preg_match może?
Bartłomiej Skwara
W wyniku działania swojej funkcji otrzymałeś jedną wielką masę.
Moim zdaniem powinieneś nie usuwać HTMLa, a parsować plik korzystając z jego struktury.
Stan konta może być ujędy w divie lub spanie, np:
  1. <span class="DostepneSrodki">1500</span>
W takim przypadku możesz użyć preg_match i zapisywać do zmiennych zawartość znaczników html używając wyrażeń regularnych, jak np.
  1. preg_match('/<span[^>]*class="DostepneSrodki">(.*?)<\\/div>/i',$zmienna1,$zmienna2);
by_ikar
A po co usuwałeś puste znaki i kod html? Pokaż kawałek kodu html gdzie masz salda, dostępne środki.
rybosom
wtedy jedyną częścią wspólną dla każdego salda jest <p class="Amount">
Bartłomiej Skwara
  1.  
  2. $string = 'POZOSTAŁY HTML<p class="Amount">200</p>POZOSTAŁY HTML<p class="Amount">800</p>POZOSTAŁY HTML<p class="Amount">300</p>POZOSTAŁY HTML';
  3. preg_match_all('/<p[^>]*class="Amount">(.*?)<\\/p>/i',$string,$wynik);
  4. print_r(end($wynik));
  5.  


I otrzymujesz tablicę:
  1. (
  2. [0] => 200
  3. [1] => 800
  4. [2] => 300
  5. )
Bartłomiej Skwara
Przeleć otrzymaną tablicę pętlą foreach usuwając z wartości tagi HTML i rzutując typ danych do liczby zmiennoprzecinkowej, np.

  1.  
  2. $gotowe_dane = array();
  3.  
  4. foreach($wynik as $string){
  5. array_push($gotowe_dane, (float)strip_tags($string));
  6. }
  7.  
  8. print_r($gotowe_dane);
  9.  

Otrzymasz zera, tam gdzie na ma liczb (lub jest zero) oraz liczby określające stan konta. Pozostaje Ci wybrać to, co jest potrzebne.
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.