![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Transferuj.pl umożliwia pobranie wszystkich kanałów za pomocą pliku JS o strukturze:
Dzięki temu pliku można sobie ładnie zbudować listę kanałów na swojej stronie jednakże chciałbym uniknąć budowania tego w oparciu o JS. Zastanawiam się jakie są możliwości przekształcenia tablicy JS w PHP. Pobranie zawartości pliku - file_get_contents. Ale co dalej? Ma ktoś jakieś ciekawe rozwiązanie czy zostają tylko wyrażenia regularne albo linia za linią i wyłuskiwanie tych danych? Ten post edytował markonix 7.09.2012, 11:20:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Cytat Troszkę sie zirytowałem bo jednak mam tam jakiś staż na forum i staram się pisać jasno no a dostaje rozwiązania zupełnie niezgodne z założeniami. Cytat Cel jest prosty - chce zrobić listę form płatności na stronie i tyle. Plik z tablicą służy temu celowi właśnie i jest gotowa implementacja ale w JS. No widzisz, masz staż, ale jednak założyłeś, że to co chesz zrobić jest oczywiste...rozumiem, że chodzi o ten plik: https://secure.transferuj.pl/channels-10100.js Generalnie jest on tak prosty, że wystarczynawet kilka pętli z explode() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
No widzisz, masz staż, ale jednak założyłeś, że to co chesz zrobić jest oczywiste... Nie rozumiem co masz na myśli. To co chce zrobić to tablicę PHP, a jaki jest tego cel to przyznaj, że nie ma to znaczenia. Bo czy będę chciał to dodać do bazy czy wyświetlić to działanie na pliku nie zmienia się. Tak, to ten plik. Jest prosty, ale chce to zrobić w miarę elastycznie bo ma to służyć automatycznej aktualizacji. Myślę mniejwięcej nad takim algorytmem: 1. Rozpoczęcie parsowania od pierwszego elementu tablicy (pominięcie komentarza i zainicjowania tablicy). 2. Wyrzucenie początku "tr_channels[0] = [" . Tutaj wyróżnienie regularne albo obcięcie stringa. 3. Wyrzucenie końcówki ]; 4. Explode na przecinku. Wyrzucenie pojedynyczych cudzysłowiów. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Myślę mniejwięcej nad takim algorytmem: 1. Rozpoczęcie parsowania od pierwszego elementu tablicy (pominięcie komentarza i zainicjowania tablicy). 2. Wyrzucenie początku "tr_channels[0] = [" . Tutaj wyróżnienie regularne albo obcięcie stringa. 3. Wyrzucenie końcówki ]; 4. Explode na przecinku. Wyrzucenie pojedynyczych cudzysłowiów. To, co tutaj opisujesz to jest dokładnie to, co robią wymienione przeze mnie narzędzia i przed użyciem których się tak wzbraniasz. Powtórzę raz jeszcze najszybciej będzie zrobić tak: 1) $t = file_get_contents (pobieramy zawartość js); 2) konwertujemy wybranym narzędziem tekst js do json, możesz zrobić tak, że to, co pobierzesz w kroku 1) odsyłasz do skryptu js, na końcu on Ci po obróbce odsyła gotowy json 3) na końcu w php json_decode Nie ma sensu wymyślać koła na nowo i bawić się wyrażeniami regularnymi. Tłumaczenie, bo ja chcę to zrobić tylko w phpie spowoduje, że spędzisz najbliższe godziny, albo i nawet dni nad wymyślaniem gotowego algorytmu, który zamieni Ci proste typy danych javascriptowych do notacji JSON. Alternatywnie, podejrzyj, jak taki parser w js został napisany i wzorując się na gotowcu, napisz własny w php, to tylko kilka godzin pracy (dla bardziej złożonych struktur danych typu tablica obiektów będzie niezła zabawa). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 11:23 |