<?php
 
$filmes = array();
 
$str = '1ª Temporada – Shinigami Daikou
001. O Dia em que me Tornei Shinigami
002. Um Trabalho de Shinigami
003. O Desejo do Irmão mais Velho, o Desejo da Irmã mais Nova
004. Periquito Amaldiçoado
2ª Temporada – Invasão a Soul Society
026. Formação! A Pior Companhia
027. Libere o Golpe Final!
028. Orihime está sendo Visada
3ª Temporada – Fuga da Soul Society
052. Renji, Juramento da Alma! Luta Mortal com Byakuya
053. A Tentação de Ichimaru Gin, Resolução da Destruição
054. Um Juramento Realizado! Pegue Rukia Devolta';
 
$linhas = preg_split('#[\r\n]+#', $str);
 
$ultima_temporada = 0;
 
foreach ($linhas as $value) {
    if (preg_match('#(\d+)ª[^a-z]+?temporada#i', $value, $temporada)) {
 
        $ultima_temporada = intval($temporada[1]);
        $filmes[$ultima_temporada] = array();
 
    } else if (preg_match('#(\d+)[^a-z]+([a-z].*?)$#i', $value, $episodio)) {
 
        $filmes[$ultima_temporada][ intval($episodio[1]) ] = $episodio[2];
 
    }
}
 
print_r($filmes);
