Allora fai così:
il file di testo lo leggi con file(), così ti viene tagliato ad ogni a capo e ti mette le singole righe in un array.
Cicli l'array con foreach() e all'interno di ogni ciclo metti un explode().
Explode crea a sua volta un array delle voci che compongono ogni singolo rigo.
Una volta che hai un array di array, usi sort() per ordinarlo, oppure i metodi simili per ordinarlo secondo criteri diversi (usort, asort, nasort ecc).
Ti do' un consiglio: evita di usare il punto e virgola come separatore dei testi passati dalla form!
Metti che in uno degli input venga inserito proprio il punto e virgola, ti salta il tuo scirpt che splitterà male la stringa.
Mi sembra di averti detto tutto, se hai qualche dilemma, posta pure.
![]()