Matayn83
19.12.2007, 09:05:47
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> 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> 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
Grzyw
19.12.2007, 09:20:11
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 " 28,00 zł" samą kwotę. Szerszego wzorca nie potrzebujesz.
netmare
19.12.2007, 09:52:50
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.
-tommy4-
19.12.2007, 10:20:32
tak jak wyzej, file_get_content, a potem libxml2...
Matayn83
19.12.2007, 12:34:13
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;)
Grzyw
19.12.2007, 13:37:50
Skorzystaj z funkcji
preg_match_all()<?php
?>
Powinno działać
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.