![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 2.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam dane dotyczące daty/czsu w formacie "xx temu"np
Kod 3 Dni, 22 Godzin, 39 Minut temu 1 Godzina(y), 20 Minut temu xx Minut(a)/(Sekund(a)) temu 1 godzina(y) temu Jak toto zamienić na timestamp? Rozumiem, że muszę przeliczyć wszystkie "kawałki" na sekundy, zsumować i odjąć od "teraz". Ale jak to sprytnie zrobić? - preg_replace? Przyklad? Ten post edytował Mustava 14.07.2010, 22:50:20 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Przeparsuj do angielskiego i użyj jako parametr dla strtotime.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak toto zamienić na timestamp? :http://pl.php.net/manual/pl/function.strtotime.php Cytat Mam dane dotyczące daty/czsu w formacie "xx temu"np - preg_match. A jeśli dane te mają stały format (czyli zawsze jest np. dni, godzin, minut) to preg_splitem można to podzielić i pierwsza liczba to będą dni, druga godziny itd. A jeśli nie, to po wyrażeniach regularnych, [liczba][spacja]God* to godzina, [liczba][spacja]Min* minuty itd.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A po co Ci coś takiego? i tak będzie to bardzo niedokładne.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 2.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie tak zaś bardzo, nie chodzi mi o kilka sek. ew. minut.
Muszę pobrać dane z innej strony (forum, galeria, komentarze itp) Mam następny problem - nie wiem dlaczego strtotime nie zamienia podstawionej zmiennej
jeżeli podstawię "na żywca" tekst jest ok (to wyremowane) ![]() Nikt nie może pomóc? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Bo
$regex = '/<span>([\d\D]*?) ([ago]{3})+<\/span>/'; jest nieprawidłowym wyrażeniem regularnym. Zainteresuj się edytorami do wyrażeń regularnych i przetestuj je najpierw a sam zobaczysz, że zwraca Ci głupoty. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 2.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Bo $regex = '/<span>([\d\D]*?) ([ago]{3})+<\/span>/'; jest nieprawidłowym wyrażeniem regularnym. Zainteresuj się edytorami do wyrażeń regularnych i przetestuj je najpierw a sam zobaczysz, że zwraca Ci głupoty. Sorry, ale jakoś nie mogę doszukać się błędu Wywołanie sktyptu w przeglądarce daje wynik: Kod Array ( [0] => Array ( [0] => 2 day, 3 hour, 44 min, 25 sec ago ) [1] => Array ( [0] => 2 day, 3 hour, 44 min, 25 sec ) [2] => Array ( [0] => ago ) ) **2 day, 3 hour, 44 min, 25 sec ago** **** a więc to o co mi chodzi ="2 day, 3 hour, 44 min, 25 sec ago" Natomiast użycie (być może błędne) wspomnianego Regex Coach. ![]() Testowałem także na http://maciek.lasyk.info/index.php?action=regexp_checker Możecie mnie oświecić - dopiero zaczynam zabawę m.in z php więc.... Może dalej błędnie, ale "zaskoczyło" w takiej kombinacji
==================================== Teraz następny problem: Przeparsuj do angielskiego i użyj jako parametr dla strtotime. No właśnie próbowałem:
Nie za bardzo to działa (a raczej nie działa) - mały help? Rozwiązanie problemu (m.in. dla ew. potomnych):
Ten post edytował Mustava 22.07.2010, 22:24:57 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 12:38 |