Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z wyrażeniem regularnym
mickey23
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 9.12.2015

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


Witam,

Próbuję napisać wyrażenie regularne które wyciągnie mi czas w formie:

1. 2 godz. 30 min
2. 2 godz.

Zrobiłem:

  1. $time = '/<span class="time">(.+?) min. /


To wyciąga mi dane gdy są podane minuty, ale nie działa gdy jest tylko godzina, więc spróbowałem tak:

  1. $time = '/<span class="time">(.+?)godz|min/';


Niestety nie działa ten sposób :/

Jak w takim razie powinno wyglądać to wyrażenie żeby działało w obu przypadkach ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Do wyciągania danych z HTML powinieneś użyć parsera HTML (np. DOMDocument), a nie wyrażeń. Tych możesz co najwyżej użyć do wyciągnięcia danych z tekstu.
2. Mając tekst "X godz. Y min.", "X godz." bądź "Y min." możesz skorzystać z następującego wyrażenia do wciągnięcia danych:
Kod
/(?:(?P<hours>\d+) godz\.)?\s*(?:(?P<minutes>\d+) min\.)?/
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: 14.10.2025 - 08:21