Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/08/2010, 11:18
dhamaso
 
Fecha de Ingreso: mayo-2009
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: cortar cadenas php

Cita:
Iniciado por Nicolazo Ver Mensaje
si no te sirve el formato de valores separados por coma, puedes usar expresiones regulares. Eso si, el formato debe ser igual.
Para el caso que pusiste, una linea del CSV tendria este formato:



por lo tanto, una expresion regular que tome la informacion requerida seria:



por lo tanto tu codigo php lo cambiaria a lo siguiente:


Código PHP:
$file fopen ($ruta"r"); //abro el archivo 
$preg_pattern '/^(\d+),"([^"]+)",(\d+),(\d+)$/';


// recorro los datos                            
while( $data fgets($file,2048) ){ 

    
/*formo las cadena para hacer el insert 
        ejemplo: 
         
        (001,"Carros, Inc. - obo Maersk Line, Inc.",5129706,5129706) 
       para despues hacer esto: 
       $query = "REPLACE INTO  cat_clientesR(no_centro,empresa,no_cliente,referencia_sistema) VALUES ".$vals.""; 

       mysql_query($query,$conexion); 
    */ 
    
    
    
if( preg_match$preg_pattern trim($data) , $matches ) ){
        
$no_centro $matches[1];
        
$empresa $matches[2];
        
$no_cliente $matches[3];
        
$referencia_sistema $matches[4];
    
        
$sql_query "REPLACE INTO cat_clientes (no_centro,empresa,no_cliente,referencia_sistema) VALUES($no_centro,'$empresa',$no_cliente,$referencia_sistema)";
    
        
mysql_query($sql_query,$conexion);     
    }else{
        
// echo "Error en linea: '$data'<br>";
    
}



espero te sirva !
gracias a todos voy a probar el codigo de Hidek1 y Nicolazo aber si me sale en un ratito mas ando por aca aver que paso