Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] problem z preg_match
become
post 6.06.2009, 12:45:49
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 12.01.2007

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


mam stronkę http://tv.o2.pl/program/

chce wyciagnac to co znajduje sie w selectach.

oto kod HTML:

  1. <form action="/program/" method=post>
  2. <b>Stacja TV:</b><br>
  3. <select name="id_stacja" class="t1">
  4. <option value=0> --- wybierz stację<option value=11 selected> Ale kino!
  5.  
  6. <option value=22 > AXN
  7. <option value=23 > AXN Crime
  8. <option value=24 > AXN Sci- Fic
  9. <option value=8 > Canal+
  10. <option value=9 > Canal+ Film
  11. <option value=10 > Canal+ Sport
  12. <option value=16 > Cartoon Network
  13. <option value=21 > Cinemax
  14. <option value=35 > Cinemax 2
  15.  
  16. <option value=33 > Comedy Central
  17. <option value=17 > Discovery Channel
  18. <option value=12 > Eurosport PL
  19. <option value=40 > FoxLife
  20. <option value=20 > Hallmark
  21. <option value=7 > HBO
  22. <option value=34 > HBO Comedy
  23. <option value=19 > HBO2
  24. <option value=25 > Kino Polska
  25.  
  26. <option value=39 > Kuchnia TV
  27. <option value=44 > MGM
  28. <option value=13 > MTV Polska
  29. <option value=15 > National Geographic
  30. <option value=37 > Planete
  31. <option value=3 > Polsat
  32. <option value=18 > Polsat Sport
  33. <option value=42 > Sci Fi Channel
  34. <option value=29 > TCM
  35.  
  36. <option value=26 > TV Polonia
  37. <option value=28 > TV Puls
  38. <option value=27 > TV4
  39. <option value=4 > TVN
  40. <option value=6 > TVN 24
  41. <option value=5 > TVN Siedem
  42. <option value=41 > TVN Style
  43. <option value=38 > TVN Turbo
  44. <option value=1 > TVP 1
  45.  
  46. <option value=2 > TVP 2
  47. <option value=30 > TVP Info
  48. <option value=36 > TVP Kultura
  49. <option value=43 > Universal Channel
  50. <option value=14 > VIVA Polska
  51. <option value=45 > Wojna i Pokój
  52. <option value=31 > Zone Europa
  53. <option value=32 > Zone Romantica
  54.  
  55. <br><br>
  56.  
  57. <b>Dzień:</b><br>
  58. <select name="dzien" class="t1">
  59. <option value=0 selected> dzisiaj (06.06)<option value=1> niedziela (07.06)<option value=2> poniedziałek (08.06)<option value=3> wtorek (09.06)<option value=4> środa (10.06)<option value=5>czwartek (11.06)<option value=6> piątek (12.06)</select>
  60.  
  61. <br><br>
  62.  
  63. <input type=submit name=pokaz value="Pokaż program" class=t1 style="background: #99cccc; color: #ffffff">
  64. </form>


oto kod PHP:

  1. <?php
  2. $url2 = 'http://tv.o2.pl/program/';
  3.  
  4. $a = file($url2);
  5. $wpHtml = implode("\n", $a);
  6.  
  7. #echo $wpHtml;
  8.  
  9.  
  10. $data=preg_match('/<select name="id_stacja" class="t1">(.*?)</select>/', $wpHtml, $res);
  11. print_r ($res);
  12. ?>


i teraz pytanie, dlaczego preg_match nic nie dopasowuje skoro wszystko jest - wg. mnie - dobrze ?

Ten post edytował become 6.06.2009, 13:13:06


--------------------
Darmowy Kreator Stron Internetowych
NR1 W Polsce - Portal Społecznościowo-Randkowy
Pozycjonowanie - najlepsze polskie narzędzie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post 6.06.2009, 13:45:42
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
dlaczego preg_match nic nie dopasowuje skoro wszystko jest - wg. mnie

Gdyż Twoje wyrażenie skanuje kod linia po linii. Poczytaj o modyfikatorze /s.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
become
post 6.06.2009, 18:15:33
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 12.01.2007

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


hmm, ale nie ma nic tutaj o tym modyfikatorze:

http://pl.php.net/preg_match

i tak przy okazji co oznacza we wzorze znak / na poczatku i koncu. Czy rozni sie on od znaku #.

$data=preg_match('/<select name="id_stacja" class="t1">(.*?)</select>/', $wpHtml, $res);
$data=preg_match('#<select name="id_stacja" class="t1">(.*?)</select>#', $wpHtml, $res);

czym sie roznia powyzsze zapisy ?

Ten post edytował become 6.06.2009, 18:26:07


--------------------
Darmowy Kreator Stron Internetowych
NR1 W Polsce - Portal Społecznościowo-Randkowy
Pozycjonowanie - najlepsze polskie narzędzie
Go to the top of the page
+Quote Post
Fishu
post 6.06.2009, 18:17:39
Post #4





Grupa: Zarejestrowani
Postów: 192
Pomógł: 13
Dołączył: 16.11.2007
Skąd: Żory

Ostrzeżenie: (10%)
X----


Ja ostatnio znalazłem coś takiego: http://pl.php.net/manual/en/function.preg-replace.php#89364

Kod
\s Match a whitespace character


Ten post edytował Fishu 6.06.2009, 18:17:51


--------------------
"Źle czynisz, jeśli chwalisz, gorzej, jeśli ganisz rzecz, której dobrze nie znasz." - Leonardo Da Vinci

30.01.2009 - Mój 100 post.
Go to the top of the page
+Quote Post
erix
post 6.06.2009, 18:45:26
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
s (PCRE_DOTALL)
If this modifier is set, a dot metacharacter in the pattern matches all characters, including newlines. Without it, newlines are excluded. This modifier is equivalent to Perl's /s modifier. A negative class such as [^a] always matches a newline character, independent of the setting of this modifier.


Cytat
hmm, ale nie ma nic tutaj o tym modyfikatorze:

Otworzyłem tę stronę, dwa kliknięcia i znalazłem.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 14.08.2025 - 14:03