praticamente ti devi fare una funzione di parsing.
E l'olio di gomito devi mettercelo ebbasta senno una bbona tecnica e' usare explode
tipo
$testo = [mega testo] ;
$tokens = explode ("<a" , $testo);
A to punto hai spezzato il file in un bella'array tutti che inizano per il link senza <a tranne il primo che potrebbe essere tutt'altra cosa fatti dei conrolli prima di splodere il testo magari... cmq
dopo fai un ciclo che scorre l'array e dentro
$link = "<a".substr( $tokens[$i] , 0 , strpos( $tokens[$i] , "</a>" )+3 );
array_push($links , $link);
ovviamente e' un'idea per fare in poco tempo la ricerca ed estrazione dei link devi testarla cmq in linea di max dovrebbe andare