Foros del Web » Programando para Internet » PHP »

REcorrer archivo texto...

Estas en el tema de REcorrer archivo texto... en el foro de PHP en Foros del Web. Hola a todos. TEngo en un archivo de texto los siguientes datos: Nombre 1 [email protected] Nombre 2 Apellidos 2 [email protected] Nombre 3 [email protected] Nombre 4 ...
  #1 (permalink)  
Antiguo 12/09/2006, 11:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 1
REcorrer archivo texto...

Hola a todos.

TEngo en un archivo de texto los siguientes datos:

Nombre 1
[email protected]

Nombre 2
Apellidos 2
[email protected]

Nombre 3
[email protected]

Nombre 4
Apodo 4
Apellidos 4
[email protected]

....

Y asi sucesivamente.

Lo que me gustaria es saber como quedarme solo con las lineas que contiene el email y pasar dichos datos a otro archivo de texto.

Espero vuestra contestación.

Un saludo.
  #2 (permalink)  
Antiguo 12/09/2006, 13:49
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 7 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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:10.