fork download
  1. <?php
  2.  
  3. $s = "4:{227-130-191},8:{97},9:{98},14:{99},15:{195-160}";
  4. $ar = array();
  5. preg_replace_callback('/(\d+):{(\d+(?:-\d+)*)}/', function($m) use (&$ar) {
  6. $ar[$m[1]] = explode("-", $m[2]);
  7. }, $s);
  8. print_r($ar);
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Array
(
    [4] => Array
        (
            [0] => 227
            [1] => 130
            [2] => 191
        )

    [8] => Array
        (
            [0] => 97
        )

    [9] => Array
        (
            [0] => 98
        )

    [14] => Array
        (
            [0] => 99
        )

    [15] => Array
        (
            [0] => 195
            [1] => 160
        )

)