$text = '[2]-[37], [8]-[41], [11]-[24], [2]-[15]'; $arr = array_map(trim, explode(',',$text)); $arr = array_map(function($i) { $i = array_map(function ($j) { return trim($j, "[]"); }, explode('-', $i)); return $i; }, $arr); print_r($arr); as a result, there should be such an array:
[ [2, 37], [8, 41], [11, 24], [2, 15] ]