Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/09/2006, 13:49
GikaJavi
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 8 meses
Puntos: 0
Puedes usar una expresión regular para saber si la línea es un email e ir cogiéndolos en un buffer para, al final, volcarlo en el archivo de salida:

Suponiendo que la entrada es fichero.txt, algo así te funcionaría:
Código PHP:
<?

$Lineas 
file("fichero.txt");
$Mails "";
reset($Lineas);
while (
next($Lineas)) {
    if (
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"trim(current($Lineas))))
        
$Mails .= current($Lineas)."\n";

}
$gestor fopen("mails.txt"'w');  // mails.txt contendrá la salida con los mails.
fwrite($gestor$Mails);
fclose ($gestor);

?>
La expresión regular la tengo sacada de un ejemplo pero no es la más correcta de todas, porque no valida bien algunos mails complejos. Pero la idea es ésta.