Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> <php> wyciganie danych ze źródła innej www
Matayn83
post 19.12.2007, 09:05:47
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.12.2007

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


Witam. Chce wyciągnąć dane i przypisać do tablicy ze źródła innej strony. Przykładowy kod źródłowy wygląda tak:



<BR><td class="cellPrice"><span class="textBN">
<BR><span class=textBN>tekst</span></span>&nbsp;32,00 zł</td><BR><BR>        
<td class="cellTrans">zonk</td><BR>        
<td class="cellTime">5,0</td><BR>    <BR><BR>
<td class="cellPrice"><span class="textBN"><BR>
<span class=textBN>tekst</span></span>&nbsp;28,00 zł</td><BR><BR>        
<td class="cellTrans">zonk</td><BR>        
<td class="cellTime">5,0</td><BR><BR>

Do tablicy chce przypisać kwoty (pogrubione). Liczba tych kwot się zmienia z dnia na dzień, więc czasami są 2, a czasami 20. Chce żeby do tablicy były zczytywane zawsze wszystkie kwoty co są w źródle.

Da rade to jakoś zrobić?

pozdrawiam

Ten post edytował Matayn83 19.12.2007, 09:08:48
Go to the top of the page
+Quote Post
Grzyw
post 19.12.2007, 09:20:11
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Tak, są dwa sposoby. Jeden to biblioteka curl, druga to połączenie funkcji file_get_contents() i wyrażeń regularnych. Wyciągniesz, co tylko zechcesz.

Jak już pobierzesz zawartość pliku, to wyrażeniami regularnymi wytnij za pomocą wzorca wyciągnij wzorcem z ciągu "&nbsp;28,00 zł" samą kwotę. Szerszego wzorca nie potrzebujesz.

Ten post edytował Grzyw 19.12.2007, 09:23:56


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
netmare
post 19.12.2007, 09:52:50
Post #3





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


A jakby dwa poprzednie zawiodły ze względu na konfigurację serwera, to zawsze możesz otworzyć port 80, przesłać zapytanie HTTP, odzczytać co Ci serwer prześle.
Go to the top of the page
+Quote Post
--tommy4--
post 19.12.2007, 10:20:32
Post #4





Goście







tak jak wyzej, file_get_content, a potem libxml2...
Go to the top of the page
+Quote Post
Matayn83
post 19.12.2007, 12:34:13
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.12.2007

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


Dzięki wszystkim:)

A teraz mam pytanie dotyczące wyrażeń regularnych
Wiec mam taki oto kod:
<?
$z= 'jakis tekst cena wynosi: 29,50 pln jakis tekst';


ereg('wynosi: *([0-9]{1,},[0-9]{1,}) *pln$', $z, $r) ;
echo "$r[1]";
?>

Jak to powinno wyglądać, żeby wyświetliło mi kwote?

E: zrobiłem, wystarczyła gwiazdka po pln;)

Ten post edytował Matayn83 19.12.2007, 14:09:41
Go to the top of the page
+Quote Post
Grzyw
post 19.12.2007, 13:37:50
Post #6





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Skorzystaj z funkcji preg_match_all()

  1. <?php
  2. preg_match_all('@nbsp;(.*?) zł@',$html,$out,PREG_PATTERN_ORDER);
  3. ?>



Powinno działać

Ten post edytował Grzyw 19.12.2007, 13:42:10


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 4.07.2025 - 01:40