Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wyrażenia regularne problem z preg_match_all
matowy
post 16.07.2010, 14:28:11
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 15.07.2010

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


Witam. Staram się napisać skrypt który będzie importował dane z tabeli na stronie http://plkk.pl/index.php?p=stats jednak nie moge sobie poradzic z wyrazeniami regularnymi. Wg. mnie kod powinien wyglądać następująco:
  1. <?php
  2. $html = file_get_contents( 'http://plkk.pl/index.php?p=stats' );
  3.  
  4. preg_match_all("@<tr onmouseover=[\'\"]this.bgColor=[\'\"]#fef4db[\'\"] onmouseout=[\'\"]this.bgColor=[\'\"]#ffffff[\'\"][\'\"] align=[\'\"]center[\'\"] bgcolor=[\'\"]#ffffff[\'\"]>(.*)</tr>@", $html, $matches);
  5.  
  6. echo $matches[0][0];
  7. foreach($matches as $m){
  8. foreach($m as $a){
  9. echo $a;
  10. }
  11. }
  12. ?>

ponieważ interesują mnie tylko te wiersze. Równie dobrze mógłby pobierać cała tabele ale nie to jest problemem. Jeżeli próbuje to zrobić dla całej tabeli efekt jest ten sam czyli pusta tablica $matches.

Od razu dodam że dla kodu:
  1. <?php
  2. $html = file_get_contents( 'http://plkk.pl/index.php?p=stats' );
  3.  
  4. preg_match_all("@<tr(.*)>(.*)</tr>@", $html, $matches);
  5.  
  6. echo $matches[0][0];
  7. foreach($matches as $m){
  8. foreach($m as $a){
  9. echo $a;
  10. }
  11. }
  12. ?>

Wszystko działa z tymże wyników oczywiście dostaje za dużo(wszystkie <tr> na stronie)
Moze ktoś ma pomysł jak powinno wyglądać to wyrażenie żeby zadziałało.

W końcu udało mi się znaleźć rozwiązanie. Generalnie dobrze kombinowałem z tym że źródło strony inaczej było wyświetlane w ff a inaczej widział to serwer w związku z czym pomogła zmiana kolejności na
  1. preg_match_all("@<tr align=[\'\"]center[\'\"] onmouseover=[\'\"]this.bgColor=[\'\"]#fef4db[\'\"][\'\"] onmouseout=[\'\"]this.bgColor=[\'\"]#ffffff[\'\"][\'\"]>(.*)</tr>@", $html, $matches);
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: 24.07.2025 - 20:03