Tipo così:

codice:
<?
  $file_di_testo = "./directory/file.txt";
  
  // il file è così formattato:
  // 050702|050704|Francesco|Rossi|frossi@server.it
  // 050716|050725|Roberta|Bianchi|rbianchi@server.it
  // ...

  // leggo il file in un array
  // ogni riga sarà un elemento dell'array
  $contenuto = file($file_di_testo);

  // adesso ho che:
  // $contenuto[0] = 050702|050704|Francesco|Rossi|frossi@server.it
  // $contenuto[1] = 050716|050725|Roberta|Bianchi|rbianchi@server.it
  // $contenuto[x] = ...

  // da una precedente elaborazione del file avevo estrapolato
  // gli elementi di ogni riga che vengono visualizzati in ciascun
  // blocco ed all' interno di esso si chiamano riga[0] riga[1] ...
  // ed in questo caso corrispondono a:
  // $riga[0] == 050702
  // $riga[1] == 050704
  // $riga[2] == Francesco
  // ecc.

  // se voglio cancellare contenuto[0] da un pulsante che compare
  // alla fine di ogni blocco imposto il pulsante (un link)
  ELIMINA RIGA
  // e poi vado a specificare al action elimina
  if ($action == 'elimina') { 
      // conto le occorrenze di $contenuto
      $occ = array_count_values($contenuto);
      // costruisco la stringa da confrontare con la riga del file
      $confronto = $riga[0]$riga[1]$riga[2]$riga[3]$riga[4];
      // imposto il ciclo for per la lettura ed il confronto delle
      // righe
      for($i=0;$i<$occ;$i++) {
          if ($contenuto[$i] == $confronto)
               unset $contenuto[$i];
      }
   }
   // la pagina si ricarica da sola rileggendo il file e il blocco
   // corrispondente alla riga eliminata non dovrebbe esserci più
   // ma se fosse vero sarebbe troppo bello

?>
Perdonami i troppi commenti ma l'ho fatto praticamente sul forum non sul mio editor...