![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%) ![]() ![]() |
Witam próbuje napisać konwenter, użyłem preg_match_all
kod:
jak widać szuka w pliku drift.map, wszystko ładnie działa gdy w pliku drift.map jest przykładowo takie coś: Kod <spawnpoint name="spawnpoint"><position>-317.776550 1516.267578 75.017334</position><rotation>360</rotation><vehicle>522</vehicle></spawnpoint> (czyli wszystko w jednej linijce) ale konwenter będzie "dla graczy" więc nie wiem jaki bedzie układ może być np. taki (czyli odstępy, spacje, nowe linijki itp): Kod <spawnpoint name="spawnpoint"> <position>-317.776550 1516.267578 75.017334</position> <rotation>360</rotation> <vehicle>522</vehicle> </spawnpoint> to już nie działa więc jak zrobić żeby działało nie zależnie od układu/spacji/enteru Ten post edytował dk1342 9.04.2009, 14:40:05 -------------------- Firefox - The Best,
Internet Exokier - shit |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz usunąć wszystkie spacje ze zmiennej
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Dodajesz modyfikator s
http://pl.php.net/manual/pl/reference.pcre...n.modifiers.php Musisz jeszcze uwzględnić te spacje w wyrazeniu Kod \s* Lecz nie jest to dobra metoda. Lepiej parsować coś takiego parserem xml http://pl.php.net/simple_xml_load_string Poza tym twoje wyrażenie regularne nie sprawdzi się przy większej ilości takich <spawnpoint> a to dlatego, że brakuje ci ? po każdej * Ten post edytował wookieb 9.04.2009, 14:50:20 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%) ![]() ![]() |
1010 nie działa, nie znajduje
wookieb zaraz sprawdze Ten post edytował dk1342 9.04.2009, 14:42:27 -------------------- Firefox - The Best,
Internet Exokier - shit |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%) ![]() ![]() |
wookieb teraz wygląda to tak:
w pliku np. tak: Kod <spawnpoint name="spawnpoint"> <position>-317.776550 1516.267578 75.017334</position> <rotation>360</rotation> <vehicle>522</vehicle> </spawnpoint> i nie znajduje // juz wiem trzeba s+ nie widziałem twojego edita ______________________________________________________________________________ nie będę zakładać nowego tematu więc napisze tu a nawet to jest troche związane z tym otóż wszystko ładnie działa mam to w tablicy print_r($pojazdy); : Kod Array ( [0] => Array ( [0] => <spawnpoint name="spawnpoint"> <position>-317.776550 1516.267578 75.017334</position> <rotation>360</rotation> <vehicle>522</vehicle> </spawnpoint> [1] => <spawnpoint name="spawnpoint (1)"> <position>-417.176550 2516.567578 45.317434</position> <rotation>180</rotation> <vehicle>813</vehicle> </spawnpoint> ) [1] => Array ( [0] => [1] => (1) ) [2] => Array ( [0] => -317.776550 1516.267578 75.017334 [1] => -417.176550 2516.567578 45.317434 ) [3] => Array ( [0] => 360 [1] => 180 ) [4] => Array ( [0] => 522 [1] => 813 ) ) I nie wiem jaki ułozyć warunek pętli żebym mógł wyświetlić wszystkie wyciągnięte pojazdy w taki sposób
i wyświetliło by to: Kod Id obiektu: 512, pozycja -317.776550 1516.267578 75.017334, rotacja 380 Id obiektu: 813, pozycja -417.176550 2516.567578 45.317434, rotacja 180 próbowałem to zrobić tak:
ale jakoś nie wychodziło "Warning: Illegal offset type in" Ten post edytował dk1342 9.04.2009, 15:17:38 -------------------- Firefox - The Best,
Internet Exokier - shit |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Dodaj jako 4 parametr funkcji preg_match_all, PREG_SET_ORDER
i zobacz sobie tablice wynikową. Ten post edytował wookieb 9.04.2009, 15:20:17 -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%) ![]() ![]() |
dodałem to do preg_match_all i zmiejszyła się ilość tych warningów do trzech i teraz w textarei mam takie coś:
Kod <b>Warning</b>: Illegal offset type in <b>c:\usr\apache\httpd\html\konwenter.php</b> on line <b>12</b><br /> Id obiektu: , pozycja rotacja <br /> <b>Warning</b>: Illegal offset type in <b>c:\usr\apache\httpd\html\konwenter.php</b> on line <b>12</b><br /> Id obiektu: , pozycja rotacja i tak jak by pętla zadziałało bo mam dwa pojazdy i wyświetliło dwa razy warninga i zdanie id obiektu, pozycja i rotacja ale co oznacza ten warning i jak to naprawić ? Ten post edytował dk1342 9.04.2009, 15:23:07 -------------------- Firefox - The Best,
Internet Exokier - shit |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A czy ja napisałem, żebyś zostawił pętle tak jak była? nie. Powiedziałem, żeby przejrzał sobie tablicę wynikową.
łatwiej ci bedzie ją ziterować i wyświetlić to co chcesz. -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%) ![]() ![]() |
ok wyświetliłem sobie znowu tą tablice printem i widze że się całkiem zmieniła teraz w pierwszym nawiasie jest numer wyciągniętego pojazdy a w drugiej to co wyciągneło czyli np. pozycja itp. więc zmieniłem tylko tylko zmienne $id $pozycja $rotacja na
$id = $pojazdy[$q][4]; $pozycja = $pojazdy[$q][2]; $rotacja = $pojazdy[$q][3]; i znów ilość tych samych warningów wzrosła już sam nie wiem jak ta pętla będzie wyglądać // dzięki, tak nie wpadłem na to, dopiero zaczynam łapać pętelki i już coraz bardziej je rozumiem, może w końcu je zrozumie Ten post edytował dk1342 9.04.2009, 15:32:23 -------------------- Firefox - The Best,
Internet Exokier - shit |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Widzę,że nie wiesz jak działa foreach...
A wystarczyło przejrzeć zmienną $q i miałbys odpowiedź.
Ten post edytował wookieb 9.04.2009, 15:30:32 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:34 |