Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match i pętle
Forum PHP.pl > Forum > Przedszkole
MagicianVH
Witajcie, mam taki ciąg:

(key1 700) (key2 6) (key3 2) (key4 269 330) (key5 300) (key6 76)

Wartości key to stringi, nie zawsze w takiej samej kolejności.

Chciałbym za pomocą regexpa przerobić to na zmienne, ale nie wiem jak przejechać przez ten ciąg kilka razy.
Myślałem nad pętlą, która za każdym razem usuwałaby pierwszy znaleziony wynik i takim sposobem przejechałbym cały, ale czy jest może jakieś lepsze rozwiązanie?

Mój regexp:
preg_match("/\s*\((.*)\s*(.*)\)\s*/i", $line, $match);
Crozin
preg_match_all
Sephirus
  1. $ciag = '(key1 700) (key2 6) (key3 2) (key4 269 330) (key5 300) (key6 76) ';
  2. preg_match_all('#\(([a-z0-9]+)\s*([^\))]+)\)#si',$ciag,$matches);
  3. $zmienne = array();
  4. foreach($matches[1] AS $index => $value)
  5. $zmienne[$value] = $matches[2][$index];
  6.  
  7. var_dump($zmienne);


Kod
array
  'key1' => string '700' (length=3)
  'key2' => string '6' (length=1)
  'key3' => string '2' (length=1)
  'key4' => string '269 330' (length=7)
  'key5' => string '300' (length=3)
  'key6' => string '76' (length=2)
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.