fork(1) download
  1. <?php
  2.  
  3. $re = '~([\'"].*[\'"])([\s]*[\s]*=>[\s]*[\s])(\[([^\[\]]|(?R))*[\s]*[\s]\])~m';
  4. $str = "'key' => [\n 'val1 => 'sdsd',\n 'val2' => '3e3', \n]";
  5.  
  6. preg_match_all($re, $str, $matches);
  7. print_r($matches);
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [0] => 'key' => [
   'val1 => 'sdsd',
   'val2' => '3e3',  
]
        )

    [1] => Array
        (
            [0] => 'key'
        )

    [2] => Array
        (
            [0] =>  => 
        )

    [3] => Array
        (
            [0] => [
   'val1 => 'sdsd',
   'val2' => '3e3',  
]
        )

    [4] => Array
        (
            [0] =>  
        )

)