如何从内容部分创建数组

I want to read a file into an array and use some of the content from the file as array keys.

Example

myfile.txt

 [SPLIT]
 #START:KEY1
 this is the content 
 #END:KEY1
 [SPLIT]
 #START:KEY2
 this is the next content 
 #END:KEY2
 ...

I load the content from the file

$File = file_get_contents(myfile.txt);

I split the content at the maker [SPLIT] and create a array

    $file_array = explode('[SPLIT]',$File);

    foreach($file_array as $element)
    {
      //search for '#START:' get the part after that till lineend, use this as ($key) a key for a new array
....
      $new[$key]=$element;
    }

So, my question is, is there a easier or faster way, to create a array from the filecontent wich looks like?

$myarray[KEY1]=this is the content
$myarray[KEY2]=this is the next content

Did you tried to use regular expresions?

$content = file_get_contents('file_name.txt');
preg_match_all('/\[SPLIT\]
#START:(.*?)
(.*?)#END/s', $content, $rows);

$data = [];
foreach ($rows[1] as $i => $key) {
    $data[$key] = trim($rows[2][$i]);
}

This will split based on new line :

$File = file('tmp/myfile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);