Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czemu tablica jest pusta podczas pobierania danych?
Saki
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Witam, mam dość dziwny problem z którym męnczę się dość długo, i postanowiłem zapytać na forum.
A więc.

Mam wyrażenie regularne które tak jakby działa, ale nie dokońca.

  1. preg_match_all("#<a href=\"/Profile/user_(.*).html\">(.*)</a>
  2. (.*) <a href=\"(.*)\">(.*)</a>#", $powiadomienia_tmp, $infos);


Podczas pobierania danych przez curl i przepuszczenie ich przez to wyrażenie regularne to tablica jest pusta.
Nawet gdy zapisze dane pobrane przez curl do MySQL i próbuje przepuscić źródło strony z MySQL to tablica też jest pusta.

Ale gdy źródło strony znajduje się w zmiennej na stronie to wyrażenie regularne działa.
Tutaj źródło strony: http://www.pastebin.pr0geek.com/view/5120ff09

Działa tylko kiedy zrobię:

  1. $strona = "CALE ŹRÓDŁO STRONY TUTAJ";
  2.  
  3. preg_match_all("#<a href=\"/Profile/user_(.*).html\">(.*)</a>
  4. (.*) <a href=\"(.*)\">(.*)</a>#", $strona, $infos);
  5.  
  6. print_r($infos); //pokazuje to co ma pokazywać
  7.  


Bardzo proszę o pomoc aby działało też to:

  1. $sql=mysql_query("SELECT * FROM tmp LIMIT 1");
  2. while($row=mysql_fetch_array($sql))
  3. {
  4. $powiadomienia_tmp = $row['tmp'];
  5. }
  6.  
  7. preg_match_all("#<a href=\"/Profile/user_(.*).html\">(.*)</a>
  8. (.*) <a href=\"(.*)\">(.*)</a>#", $powiadomienia_tmp, $infos);
  9.  
  10. print_r($infos); // pokazuje pustą tablice
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Zamiast bawić się wyrażeniami, radzę ci pobawić się DOM'em, który również pobierze ci tablicę wszystkich elementów które "dopasuje".
Go to the top of the page
+Quote Post
Saki
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Cytat(by_ikar @ 20.02.2012, 08:27:08 ) *
Zamiast bawić się wyrażeniami, radzę ci pobawić się DOM'em, który również pobierze ci tablicę wszystkich elementów które "dopasuje".


A wierz jak to zrobić moim przykładem? Bo moje wyrażenie regularne działa, ale nie działa podczas pobierania przez curl czy mysql.

Jak zrobić wyrazenie regularne z wieloma liniami?
  1. preg_match_all("# </div>
  2. <a href=\"/Profile/user_([0-9]*).html\">(.*)</a>
  3. (.*) <a href=\"(.*)\">(.*)</a>
  4.  
  5. <br />#", $powiadomienia_tmp, $infos_more);
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 00:24