Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciąganie tablicy (tekstu) ze string'u, w dziwnej formie.
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć posiadam dosyć dziwny string, który odbieram od użytkownika i potrzebuję go rozdzielić na tablicę z kilkoma wynikami..

zmienna wygląda tak:

  1. $_POST['od_user'] = '/komenda 111,111,2222,333,444,5555,555,66666';


Potrzebuję wyciągnąć z tej zmiennej takie rzeczy:
(Na przykład w takiej formie)
  1. $str[0] = 'komenda';
  2. $str[1] = '111,111';
  3. $str[2] = '2222';
  4. $str[3] = '333';
  5. $str[4] = '444';
  6. $str[5] = '555,555';
  7. $str[6] = '66666'


Głównie to rozdzielił bym sobie to wszystko explode(), rozdzielił bym przecinki wtedy otrzymał bym mniej więcej podobny zapis.. ale nie oto mi chodzi, potrzebuje tak jak w moim przykładzie..

Da się coś takiego wykonać ?.


Z góry bardzo dziękuje i pozdrawiam.
Mary$
  1. $str = $_POST['od_user'] = '/komenda 111,111,2222,333,444,5555,555,66666';
  2. $str = substr($str,1,strlen($str)); // ucięcie tego slasha z przodu
  3. $str = explode(','$str); // rozdzielenie po przecinkach
  4. $ct = count($str);
  5. $tmp = explode(' ',$str[0]); // oddzielenie komendy od pierwszego argumentu
  6. $tab[0] = $tmp[0]; // komenda
  7. $tab[1] = $tmp[1] .','. $str[1]; //111,111
  8. $tab[2] = $str[2]; // 2222
  9. $tab[3] = $str[3]; // 333
  10. $tab[4] = $str[4]; // 444
  11. $tab[5] = $str[5] .','. $str[6]; // 5555,555
  12. $tab[6] = $str[7]; // 66666


da się z explode, ale nie wiem, czy nie pomyliłem się gdzieś w numeracji elementów.
zakładając oczywiście, że tych elementów masz tylko tyle, ile podałeś wyżej (tzn. nie pojawia się później 7777, 888 itp.)
!*!
  1. $text = '/komenda 111,111,2222,333,444,5555,555,66666';
  2. $text = trim($text, '/');
  3.  
  4. $text = preg_match_all('/[a-z0-9]+/', $text, $match);
  5.  
  6. echo '<pre>';
  7. print_r($match);


Edycja, ups, fakt nie będzie połączenia zbioru.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.