Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: <php> wyciganie danych ze źródła innej www
Forum PHP.pl > Forum > Przedszkole
Matayn83
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
Grzyw
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.
netmare
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-
tak jak wyzej, file_get_content, a potem libxml2...
Matayn83
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
Skorzystaj z funkcji preg_match_all()

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



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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.