Tom,
Non sono un esperto su regex, ma dovreste usare il preg_match_all che restituisce un allineamento piuttosto che una stringa. Il codice allegato stamperà fuori il titolo di canzone e dell'artista. Sono sicuro se maneggiate il regex che estrarrete soltanto i dati volete, poichè è l'allineamento è [0] canzone dell'artista di tempo di canzone dell'artista di tempo 1] [[2] [3].
Potreste persino ridurre questo regex ed usare substr sul primo allineamento per estrarre l'Info che volete.
(Ho ridotto il numero degli articoli estratti a 10 in modo da non otterrei una quantità di informazioni bonkers)