Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zamiast wyniku pobrani storny wyswietla mi array
Forum PHP.pl > Forum > Przedszkole
kubek15
Witam.
Bawię się w wyrażenia regularne i chcę pobrać wyniki lotto
kod ze storny do pobrania.
  1. <tr><td class='nrlos'>4590</td><td class='wyn2'>06.09.2009<br/><span>(14:00)</span></td><td class='wyn3'>06,15,27,28,31,<span style="color: aqua;">33</span>,40,41,46,48,50,51,61,62,69,72,73,77,78,79<br/><a href='http://www.multipasko.pl/wyniki-lotto/mult...ywo20090906-14/'>Zobacz transmisję losowania</a></tr>

i mój kod
  1. $file = "http://www.multipasko.pl/wyniki-lotto/multi-lotek/";
  2. $szukaj = "/(<tr\>\<td class\=\'nrlos\'\>4590\<\/td\>\<td class\=\'wyn2\'\>06.09.2009\<br\/\>\<14:00\)\<\/span\>\<\/td\>\<td class\=\'wyn3\'\>)[0-9\,](<br\/\>\<a href\=\'http\:\/\/www\.multipasko\.pl\/wyniki\-lotto\/multi\-lotek\/nazywo20090906\-14\/\\\'\>Zobacz transmisję losowania\<\/a\>\<\/tr\>)/";
  3. preg_match_all($szukaj,$file,$wynik);
  4. echo $wynik[0];

i wywala mi napis Array. Dlaczego? bo ja juz nie wiem co zrobić.
franki01
Kodowanie znaków w pliku i na stronie lotto mogą być inne. Wstaw kropkę na wszelki wypadek zamiast polskich znaków i zobacz czy działa.
kubek15
tam był jeden polski znak "ę" i zamist niego dałem kropkę ale nic się nie zmienia dalej wywala Array.
Tajgeer
To może print_r i zobacz co jest w tej tablicy?
kubek15
zwróciło coś takiego Array ( [0] => Array ( ) ) czyli znaczy że tablica pusta. Jeżeli jest pusta to cos w $szukaj jest źle? może za dużo tych \ . Bo sprawdzam cały czas to i nic mie moge znaleźć.
wookieb
A gdzie wczytujesz zawartość Urla? W kościele?
kubek15
  1. $file = file_get_contents('http://www.multipasko.pl/wyniki-lotto/multi-lotek/');


o to chodzi? Jak tak to dałem to i dajej wyskakuje array.
franki01
  1. $szukaj = '(\<tr\>\<td class\=\'nrlos\'\>([0-9]+)\</td\>\<td class\=\'wyn2\'\>([0-9\.]+)\<br/\>\<span\>\(([0-9\:]+)\)\</span\>\</td\>\<td class\=\'wyn3\'\>([0-9,]+)\<span style\="color\: aqua;"\>([0-9,]+)\</span\>([0-9,]+)\<br/\>\<a href\=\'(http\://www\.multipasko\.pl/wyniki-lotto/multi-lotek/nazywo[0-9\-]+/)\'\>Zobacz transmisj. losowania\</a\>\</tr\>)';
kubek15
teraz funkcja
  1. print_r ($wynik);
  2. echo $wynik[0];

Tą pierwszą funkcja wypisuje mi wszystkie liczby ze storny, a jak chce wypisać pierwszy rekord to dalej pisze array. Dlaczego?.
franki01
preg_match_all - zacznij od tego i zobacz jaką tablice zwraca ta funkcja. Pobierz liczbę elementów - $max = count($wynik[0]); i w pętli for() przewijaj sobie, operując odpowiednio na każdym elemencie.
wookieb
Cytat(franki01 @ 6.09.2009, 21:11:26 ) *
preg_match_all - zacznij od tego i zobacz jaką tablice zwraca ta funkcja. Pobierz liczbę elementów - $max = count($wynik[0]); i w pętli for() przewijaj sobie, operując odpowiednio na każdym elemencie.


Jakby foreach nie dało się użyc..


Cytat
Tą pierwszą funkcja wypisuje mi wszystkie liczby ze storny, a jak chce wypisać pierwszy rekord to dalej pisze array. Dlaczego?. Zobaczcie na tej stronie.

Przejrzałeś cała tablice za pomoca print_r. Rekordy których szukasz JAK WIDZISZ są w innych kluczach a nie w 0 więc pytanie uznam za głupie..
Poza tym link nie działa. Przekierowuje w kosmos.
kubek15
przeglądnełem sobie tą funkcje, oraz przykłady w manualu i nie rozumiem dlaczego ta komenda nie zwraca mi pierwszego wpisu w tabeli.
  1. echo = $wynik[0];


link do strony http://powiadamiacz.webatu.com/index2.php

Ale ja głupi smile.gif Juz wiem ma byc $wynik[0][1] itd.

Dzięki za wszystkie posty bardzo dużo się nauczyłem.

Dzięki wielkie
franki01
Cytat(wookieb @ 6.09.2009, 21:19:26 ) *
Jakby foreach nie dało się użyc..

Z foreach nie korzystam, bo jest nieco mniej wydajne. Przy większych aplikacjach to ma znaczenie i dlatego takie przyzwyczajenie.
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.