Foros del Web » Programando para Internet » PHP »

Procesar texto

Estas en el tema de Procesar texto en el foro de PHP en Foros del Web. Hola, no se me ocurre como procesar un archivo de texto, donde el contenido es : Código: 1 553358871 XXXXXXX 30 240 1,2 21.dic 11:19 ...
  #1 (permalink)  
Antiguo 22/12/2010, 12:32
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años, 6 meses
Puntos: 0
Procesar texto

Hola, no se me ocurre como procesar un archivo de texto, donde el contenido es :

Código:
1	553358871	XXXXXXX	30	240	1,2	21.dic  11:19			
1	553358872	XXXXXXX	30	22	0,3	21.dic  11:25			
2	553358877	XXXXXXX	30	116	0,6	21.dic  11:35	
4	553358873	XXXXXXX	10	207	0,4	21.dic  12:19			
2	553358875	XXXXXXX	30	64	0,6	21.dic  12:21			
4	553358879	XXXXXXX	30	36	0,3	21.dic  12:21
Como no hay ningun separador(estilo, coma,punto y coma,etc), no se como procesarlo cada 'campo'.

Para cada linea me imagino que no deberia haber probleas usando fgets.

La idea es ir leyendo cada campo, hacer algun si hiciera falta, e ingresarlo en una bd.

Gracias y saludos.
  #2 (permalink)  
Antiguo 22/12/2010, 13:00
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 14 años
Puntos: 51
Respuesta: Procesar texto

Para separar los valores, si no puedes obtener cada línea, usa explode con "\n" como símbolo de corte. Luego para separar cada elemento, podrías usar explode con " " ( espacio ). Sería más o menos así...
  #3 (permalink)  
Antiguo 22/12/2010, 15:43
Avatar de aandy  
Fecha de Ingreso: diciembre-2010
Ubicación: Piura
Mensajes: 18
Antigüedad: 14 años
Puntos: 3
Respuesta: Procesar texto

Hola amigo !!!

Para tu problema existen varios metodos des solucionarlo !!! uno de ellos como dice el amigo walterdevel otro es usando expresiones regulares !! veamos :)



Código PHP:

 <?php
 
//suponiendo que el contenido que dices esta en "fichero.txt" 
 
$fichero file("fichero.txt");
 
// al abrir un fichero con file, este lo retorna como un array
 // donde cada elemento es una linea 
   
for($p 0;$p<count($fichero);$p++){ 
   
$linea $fichero[$p];
   
$espacios "/[\t\r\n\s]+/"
   
   
$campos preg_split($espacios,$linea);
   
//bien si agarramos como el separador los espacios 
   //entonces $campos tendra 8 campos ... en el respectivo
   //orden ejemplo el primer campo seria $campos[0] .... etc
   // si bien quieres mostrar el campo de la fecha seria el 
   //campo numero 6 ya que empieza des 0 
   
print $campos[6]."<br>\n";
   

 }
?>
como salida se obtiene

Código HTML:
21.dic
21.dic
21.dic
21.dic
21.dic
21.dic
el resto es facil creo yo !!!
bueno espero te haya servido
Salu2 !! y Feliz Navidad !!

Última edición por aandy; 22/12/2010 a las 15:49
  #4 (permalink)  
Antiguo 12/01/2011, 18:29
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Procesar texto

Hola, perdon por responder tar tarde, pero con esto de las navidades y cuestiones personales mias, no he podido antes.

Muchas gracias a los dos, aandy tu script es justamente lo que yo buscaba.

Gracias y feliz año :D

Etiquetas: procesar
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 22:54.