Dunque, questo non ho potuto provarlo perchè non sono a casa. Ma dovrebbe di principio funzionare.
La questione che si porrà, probabilmente, é che una mole così grande di dati potrebbe creare problemi di memoria, tempo massimo di esecuzione, ed altre cosette. Però magari funziona. Al limite si può suddividere il file di testo. Comunque prova.
Codice PHP:
<?php
$file = file('elenco.txt');
$SpeciesArray = array();
foreach($file as $row) //scorro l'array
{
if(ereg('^(species)', $row)) //se la riga inizia per species
{
$SingleRow = explode(':', $row);
$SpeciesArray[] = trim($SingleRow[1]); //metto quello che c'è dopo il : nell'array
}
}
sort($SpeciesArray); // ordino alfabeticamente l'array
$fp = fopen('elenco2.txt', 'a+'); //creo il nuovo file di testo e la risorsa
foreach($SpeciesArray as $FinalRow)
{
fwrite($fp, $FinalRow . "\r\n"); // scorro il nuovo array scrivendo riga per riga nel nuovo file di testo
}
fclose($fp);
?>
Comunque, visto che si dovrà fare questa fatica, perché non importare il tutto in un più ordinato e comodo database. Una tabella per i generi, in relazione con quella delle specie, in relazione a sua volta con le immagini. Infinite possibilità di ricerca e di ordinamento, eccetera.