Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyciąganie danych ze stringa pomiędzy znakami
majesgrudziadz
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 1.02.2012

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


Witam mam taki problem.

Pobieram informację z nazwy pliku które różnią się długością.
Przykłady plików:

20120803_0854_ussr-KV-5_23_westfeld.wotreplay
20120803_0921_usa-T30_28_desert.wotreplay
20120726_0816_usa-T28_Prototype_41_westfeld.wotreplay
20120802_1344_ussr-T_50_2_38_mannerheim_line.wotreplay

robę na nazwie pliku explode i wyciągam $row[0] i $row[1]

  1. $row[0] - data
  2. $row[1] - godzina


liczę ilość $row i wyciągam ostatniego w przypadku gdy jest to line itp to wyciągam dodatkowo przedostatniego co daje mi:
$row[ostatni] - nazwa mapy
$row[przedostatni] - nazwa mapy

Fragment kodu:
  1. $plik_nazwa = $_FILES['plik']['name']; //dodaje nazwe do zmiennej
  2.  
  3. $roz = explode(".",$plik_nazwa); // wycinam rozszerzenie pliku
  4. $opis_pliku = explode("_",$roz[0]); //dziele opis pliku wg podkreslnika
  5.  
  6. $ile = count($opis_pliku); // licze ile jest explodow
  7. $ileminus = $ile - 1; // odejmuje 1 by byl to ostatni gdyz liczy od 1 w gore a explode daje do tablicy od 0 w gore
  8. $mapa = $opis_pliku[$ileminus]; // wyciagam ostatni explode
  9.  
  10. if(($mapa == 'a') OR ($mapa == 'ridge') OR ($mapa == 'bay') OR ($mapa == 'river') OR ($mapa == 'coast') OR ($mapa == 'halluf') OR ($mapa == 'region') OR ($mapa == 'pass') OR ($mapa == 'oaks') OR ($mapa == 'line')){
  11. $ileminus2 = $ile - 2;
  12. $mapa2 = $opis_pliku[$ileminus2];
  13.  
  14. $mapaw = $mapa2.' '.$mapa;
  15. }else{
  16. $mapaw = $mapa;
  17. }


Teraz problem leży w nazwie czołgu gdyż ma on przeróżne nazwy. Chciałbym wyciągnąć z nazwy pliku znaki które znajdują się po pierwszym znaku - a kończą się przed znakami "cyfra,cyfra,podkreślnik"


Czy może ktoś mi podpowiedzieć jak to zrobić ? czytałem manuale itp ale nie mogę sobie poradzić gdyż scrypty php ostatni raz pisałem 6 lat temu smile.gif

Z góry dziękuję za odpowiedzi nie odsyłające mnie do www.google.pl

Ten post edytował majesgrudziadz 19.09.2012, 09:29:39
Go to the top of the page
+Quote Post

Posty w temacie
- majesgrudziadz   [PHP] Wyciąganie danych ze stringa pomiędzy znakami   19.09.2012, 09:28:42
- - nospor   Tu idealnie nadają się wyrażenia regularne   19.09.2012, 09:41:20
- - b4rt3kk   To bardzo prosta sprawa, musisz użyć preg_split, o...   19.09.2012, 09:52:08
- - nospor   Nie preg_split a preg_match. Autor wątku chce wyci...   19.09.2012, 10:07:13
- - majesgrudziadz   wszystko fajnie pięknie poczytałem o preg_match() ...   19.09.2012, 10:15:11
- - nospor   Cytattempy tępy   19.09.2012, 10:18:47
- - majesgrudziadz   Cytat(nospor @ 19.09.2012, 11:18:47 )...   19.09.2012, 10:21:43
- - b4rt3kk   [PHP] pobierz, plaintext $string = '20120803_0854_...   19.09.2012, 10:26:33
- - nospor   Cytatale nie wiem cyz ide w dobrym kierunkuNo nie ...   19.09.2012, 10:26:50
- - majesgrudziadz   Cytat(b4rt3kk @ 19.09.2012, 11:26:33 ...   19.09.2012, 10:36:35
|- - b4rt3kk   Cytat(majesgrudziadz @ 19.09.2012, 11:36...   19.09.2012, 10:38:27
- - Kshyhoo   [PHP] pobierz, plaintext <?php $subject = ...   19.09.2012, 10:42:42
- - majesgrudziadz   Cytat(b4rt3kk @ 19.09.2012, 11:38:27 ...   19.09.2012, 10:53:30
|- - konole   Cytat(majesgrudziadz @ 19.09.2012, 09:53...   19.09.2012, 11:09:33
- - majesgrudziadz   Cytat(Kshyhoo @ 19.09.2012, 11:42:42 ...   19.09.2012, 11:12:43
- - b4rt3kk   A ja to nie pomogłem? Identyczny przykład dałem. l...   19.09.2012, 12:15:24
|- - Kshyhoo   Cytat(b4rt3kk @ 19.09.2012, 13:15:24 ...   19.09.2012, 12:36:24
- - nospor   majesgrudziadz również nadaje się na polityka - ni...   19.09.2012, 13:19:10
- - majesgrudziadz   Cytat(b4rt3kk @ 19.09.2012, 13:15:24 ...   19.09.2012, 14:29:51
- - nospor   CytatŻeby było śmieszniej dałem tobie a nie Kshyh...   19.09.2012, 14:32:27


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:10