Salve gente,
ho un file di log le cui righe hanno questo formato:

[dato1] [dato2] ... [dato10] testo generico

devo realizzare un parser che mi inserisca in 11 variabili distinte il contenuto di ogni riga.

Ho provato con:

preg_match_all("|\[(.*)\] \[(.*)\] ecc. (.*)|")

ma era troppo lento, allora ho provato con degli "explode" che impiegando un terzo del tempo, ma mi costringono a fare una serie di operazioni aggiuntive che inevitabilmente rallentano il tutto.

Ho provato con "sscanf" ma non ci sono riuscito

Qualche proposta?