Złączenie wszystkiego w jedną całość |
Złączenie wszystkiego w jedną całość |
30.12.2009, 06:19:14
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 28.12.2009 Ostrzeżenie: (0%) |
No więc zaczynamy. Tworzę serwis o śmiesznej grze - Tibia, ale, że to jest jedyna gra w jaką czasami pogrywam to padło właśnie na nią. Więc na początek chce zrobić takią podstronę, skrpt, który po wpisaniu swojego nicku będzie pobierał ze strony tibia.com informacje na temat postaci o tym nicku i wyświetlał je u mnie na stronie.
Z pobieraniem informacji miałem dylemat czy użyć cURL'a czy normlanego non-wrapperowego sposobu. Padło na ten drugi.
Oczywiście jest to połączone z formularzem html'a. Jedyny problem jest taki, że pobiera on mi cały layout strony, i podpina go pod ten plik, w którym mam powyższy skrypt PHP. Teraz utknąłem bo nie wiem jak rozwiązać pewną rzecz, a mianowicie: Gdy skrypt już pobierze tą stronę, to następny skrypt ma za zadanie wybrać z tej strony każdą informację o postaci osobno za pomocą wyrażeń regularnych (preg_match itd). No tylko, że każda postać ma inną nazwe, poziom itd. czyli każda postać będzie miała inny html. I teraz nie wiem jak to rozwiązać żeby było najlepiej i najprościej. Niestety chyba w zmiennej nie jestem w stanie zamknąć takiej ilosci html-a... zawsze wyskakuje jakiś błąd parsera... Proszę o pomoc. Pozdrawiam. Ten post edytował daggerinho 30.12.2009, 06:20:51 |
|
|
30.12.2009, 06:50:08
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
Cytat Z pobieraniem informacji miałem dylemat czy użyć cURL'a czy normlanego non-wrapperowego sposobu. Padło na ten drugi. normlany non-wrapperowy sposób - jak widać - też korzysta z curla. Cytat za pomocą wyrażeń regularnych (preg_match itd). przynajmniej wiesz, gdzie szukać Cytat No tylko, że każda postać ma inną nazwe, poziom itd. czyli każda postać będzie miała inny html. Czy aby na pewno ? Problem nie sprowadza się do "zamknięcia jakiejś ilości htmla w zmiennej", ale do napisania odpowiedniego wyrażenia regularnego. Na podstawie danych, które podajesz nie da się takowego utworzyć. Opisz dokładniej swój problem. -------------------- Nie pomagam na pw, tylko forum.
|
|
|
30.12.2009, 11:30:33
Post
#3
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) |
Hmm. Tak po patrzeniu na losową stronę gracza:
http://www.tibia.com/community/?subtopic=c...ikapo+Eleandril Spoglądając w źrodło, wydaje mi się, że musisz za pomocą wyrażenia wyciągnąc wszystko spomiędzy <tbody></tbody> i potem dalej parsować tak, żeby uzyskać wszystkie informacje Ten post edytował jareeny 30.12.2009, 11:31:07 -------------------- banan wszyscy.
|
|
|
30.12.2009, 12:30:39
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) |
-------------------- |
|
|
30.12.2009, 14:59:55
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 28.12.2009 Ostrzeżenie: (0%) |
@Wicepsik
No tak, Twoj sposób jest całkiem dobry ale pozostaje jedna kwestia. Funkcja, którą podałeś zwraca Array () no czyli nic, bo w subject nie ma nicku postaci, a jak wiadomo każda postać ma inny nick czyli należałoby zamknąć ten kod html w jakiejś zmiennej albo coś... nie wiem właśnie jak zrobić, żeby subject sam sie dobierał w zależności od kodu html każdego z osobna gracza... Oczywiście mój problem może być banalny, i za to przepraszam ale ja sobie z tym poradzic nie mogę :|. |
|
|
30.12.2009, 20:32:44
Post
#6
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) |
Ale HTML "opakowujący" ten nick i inne rzeczy nie zmienia się i możesz to wszystko wyciągnać wyrażeniem, więc ja nie wiem o co chodzi... no chyba właśnie po to są wyrażenia regularne, albo jestem źle poinformowany :/
-------------------- banan wszyscy.
|
|
|
30.12.2009, 20:49:20
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 28.12.2009 Ostrzeżenie: (0%) |
Jarenny, ale ten preg_match nic nie wyciąga bo po instrukcji print_r($nick) na ekran printuje się Array(0) i tyle, a nie Pikapo Eleandril:|
@Edit... Okej, powyższy skrypt był poprawny jednak nie działał on z powodu spacji, w jedno członowych nickach wszystko działa. Dziękuje za pomoc. Ten post edytował daggerinho 30.12.2009, 20:50:38 |
|
|
30.12.2009, 21:28:37
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) |
U mnie działa.
-------------------- |
|
|
31.12.2009, 21:11:11
Post
#9
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%) |
Wynik to: Kod Array ( [0] => Name:Guaio [1] => Guaio ) Czyli działa. Rozwiązanie proste i skuteczne. Ja dodałbym jeszcze jakąś instrukcję warunkową, w zmiennej $postac nie może być spacji, trzeba spacje zamienić na + i kiedy będzie występowała spacja to wyrażenie regularne będzie nieco inaczej wyglądało. Ten post edytował emtiej 31.12.2009, 21:13:49 |
|
|
Wersja Lo-Fi | Aktualny czas: 11.06.2024 - 09:00 |