Respuesta: capturar datos de un txt Cita:
Iniciado por wendyl hola a todos necesito su ayuda
Lo que pasa es que tengo estos datos en un archivo de texto y tengo que capturar solo algunos datos de estos que son los que van despues de la palabra TIME 1:00- 2:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0","" por favor necesito de su ayuda no se como hacer la expresion regular para capturar esos datos
6-5-2012 3:25 PM - Report for Voice System name: Une calle 76 - list bcms skill 15 00:00 14:00
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","0:00- 1:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","1:00- 2:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","2:00- 3:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","3:00- 4:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","4:00- 5:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","5:00- 6:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","6:00- 7:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:02","0.7",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","7:00- 8:00","1","1:33","0","0:00","3:11","0:00","0","0", "1:36","1.8","0"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","8:00- 9:00","1","0:08","0","0:00","2:47","0:00","0","0", "55:45","3.9","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","9:00-10:00","3","0:06","0","0:00","7:33","0:00","0","0" ,"22:52","4.0","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","10:00-11:00","7","0:03","0","0:00","10:39","0:00","0","0 ","39:15","4.0","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","11:00-12:00","5","0:06","1","0:27","4:53","0:00","0","0" ,"115:07","4.0","83"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","12:00-13:00","3","0:05","0","0:00","2:59","0:00","0","0" ,"34:57","3.2","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","13:00-14:00","4","0:12","0","0:00","2:46","0:00","0","0" ,"68:47","2.4","75"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","-----------","-----","-----","----","-----","-----","-------","----","----","-------","-----","---"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","SUMMARY","24","0:10" ,"1","0:27","6:09","0:00","0","0","338:21","1.7"," 88" Tengo este codigo php Código PHP: <?php header ('refresh: 1; url=actualizar_bd_skill12.php'); //Conexion BD include ("conexion.php"); $Link=conexion(); //Elimina toda la data de la tabla $mysql = mysql_query("DELETE FROM skill12") or die ("Problemas al eliminar informacion. ".mysql_error()); //Cargar archivo y almacenarlo como texto $archivo = fopen("REPORTES/report_monitor_bcms_skill_12.txt","r"); $textoarchivo = show_source("REPORTES/report_monitor_bcms_skill_12.txt",True); //dividir la cabecera del contenido $dividir=explode("\n",$textoarchivo); //ejecutar expresion regular para obtener los datos $resultado=preg_split('/[~~.~~]/', $dividir[1]); $primeralinea=True; //Creacion de la tabla echo "<table border=1><tr>"; echo "<td>Agent_name</td>"; echo "<td>Login_id</td>"; echo "<td>Extension</td>"; echo "<td>State</td>"; echo "<td>Time</td>"; echo "<td>Acd_calls</td>"; echo "<td>Ext_out_calls</td>"; echo "<td>Ext_in_calls</td>"; echo "</tr>"; $sql="INSERT INTO skill12 (agent_name, login_id,extension,state,time,acd_calls,ext_out_calls,ext_in_calls) VALUES ("; //contador para recorrer resultado expresion regular foreach($resultado as $valor){ if($valor!=="<br>" && $valor!==""){ //la primera linea no la usaremos entonces omitimos esta if($primeralinea){ $primeralinea=False; }else{ //expresion regular para dividir los datos $linea = preg_split("/[\".\"]/", $valor); echo "<tr>"; $contador=0; foreach($linea as $final){ if($final!=="," && $final!==""){ //se acabo los campos y dejar de crear celdas en la tabla if($contador>7){ //FINAL DE TEXTO }else{ $contador++; $sql.="'".$final."',"; echo "<td>".$final."</td>"; } } } echo "</tr>"; //quitarle coma al final y agregar cierre de parentesis para el texto de la consulta sql $sql=trim($sql,",").")"; //EJECUTAR CONSULTA echo $sql."<br>"; $mysql=mysql_query($sql) or die ("problemas en el insert".mysql_error()); $sql="INSERT INTO skill12 (agent_name, login_id,extension,state,time,acd_calls,ext_out_calls,ext_in_calls) VALUES ("; } } } echo "</table><br>"; //Elimina toda la data de la tabla $mysql = mysql_query("DELETE FROM general") or die ("Problemas al eliminar informacion. ".mysql_error()); /*Inicia codigo para recuperar los otros dos datos*/ //Creacion de la tabla echo "<br />"; echo "<table border=1>"; echo "<tr>"; echo "<td>Llamadas en cola</td>"; echo "<td>Tiempo llamada</td>"; echo "</tr>"; $resultado=preg_split('/^[.~~]/', $dividir[1]); $sql="INSERT INTO general (Llamadas_cola, tiempo_llamada) VALUES ("; foreach($resultado as $valor) { if($valor!=="<br>" && $valor!=="") { //la primera linea no la usaremos entonces omitimos esta if($primeralinea) { $primeralinea=False; }else { //expresion regular para dividir los datos $linea = preg_split("/[\".\"]/", $valor); echo "<tr>"; $contador=0; foreach($linea as $final) { if($final!=="," && $final!=="") { //se acabo los campos y dejar de crear celdas en la tabla if($contador == 4 || $contador == 6 ) { echo "<td>".$final."</td>"; $sql .= "'".$final."',"; } $contador++; } } echo "</tr>"; //quitarle coma al final y agregar cierre de parentesis para el texto de la consulta sql $sql=trim($sql,",").")"; //EJECUTAR CONSULTA echo $sql."<br>"; $mysql=mysql_query($sql) or die ("problemas en el insert".mysql_error()); //$sql="INSERT INTO general (Llamadas_cola, tiempo_llamada) VALUES ("; echo "</table>"; } } } mysql_close($Link); ?> no se como podre modificarlo para que me traiga solo los datos que yo quiero |