Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][regex] Wyciąganie odpowiedniego wiersza za pomocą regex
Kucharskov
post 6.09.2014, 22:37:41
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 14.09.2012

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


Witam!

Mój kod wygląda w uproszczeniu tak:
  1. $PRODUCT_INFO = file_get_contents("http://zylla.wipos.p.lodz.pl/ut/kody-GUS.html");
  2. if(preg_match("@<td>02 </td><td> </td><td colspan=3>(.+) </td>@", $PRODUCT_INFO, $PRODUCT_WOJ)) $PRODUCT_WOJ = trim($PRODUCT_WOJ[1]);
  3. else $PRODUCT_WOJ = "Brak danych";

Jak widac dane biorę z http://zylla.wipos.p.lodz.pl/ut/kody-GUS.html bo tak mi wygodnie.
Powyższy przykład powinien zwrócić tekst "WOJ. DOLNOŚLĄSKIE" gdyż jako jedyny ma i pasuje do wiersza "<td>02 </td><td> </td><td colspan="3">WOJ. DOLNOŚLĄSKIE </td>".
Jednak za Chiny ludowe nie chce to działać. Nie wiem co jest nie tak z tym regexem.

Sprawdzałem również allow_url_include i jest ustawione na ON.

Prosze o pomoc!
Pozdrawiam wink.gif
Kucharskov
Go to the top of the page
+Quote Post
pedro84
post 7.09.2014, 02:40:41
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Nie chce mi się teraz, o tej godzinie tego sprawdzać, ale HTMLa nie parsuje się regexami, to powoduje same problemy.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
Kucharskov
post 7.09.2014, 11:32:44
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 14.09.2012

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


Więc w jaki sposób przeparsowac tą stronę aby pobrać z niej konkretne województwo w zalezności od numeru: 02, 04, 06 itd?
Go to the top of the page
+Quote Post
pedro84
post 7.09.2014, 14:15:19
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


http://php.net/manual/en/book.dom.php a od biedy możesz http://simplehtmldom.sourceforge.net/.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
Kucharskov
post 7.09.2014, 16:01:43
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 14.09.2012

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


Dzięki! jednak najlepszym rozwiązaniem było zapisać jedynie cały znacznik <table> do pliku .txt a następnie ten plik parsować tym samym regexem - wszystko smiga wink.gif
Więc jeżeli ktoś je jajka i chce wiedzieć skąd one są, zapraszam: http://others.kucharskov.pl/kurCHECK/index.php ;D
Go to the top of the page
+Quote Post
pedro84
post 7.09.2014, 16:48:28
Post #6





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(Kucharskov @ 7.09.2014, 17:01:43 ) *
Dzięki! jednak najlepszym rozwiązaniem było zapisać jedynie cały znacznik <table> do pliku .txt a następnie ten plik parsować tym samym regexem - wszystko smiga wink.gif

Parsowanie HTMLa regexem nigdy nie jest najlepszym pomysłem wink.gif

Cytat(Kucharskov @ 7.09.2014, 17:01:43 ) *
Więc jeżeli ktoś je jajka i chce wiedzieć skąd one są, zapraszam: http://others.kucharskov.pl/kurCHECK/index.php ;D

Świetna sprawa! Do ulubionych poszło.


--------------------
Google knows the answer...
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: 26.04.2024 - 11:44