Foros del Web » Programando para Internet » PHP »

Encontrar Expresión Regular avanzada

Estas en el tema de Encontrar Expresión Regular avanzada en el foro de PHP en Foros del Web. Hola muchachos, recurro a ustedes porque siempre me dan una mano y la gran cosa que he aprendido es gracias a este foro ya que ...
  #1 (permalink)  
Antiguo 21/12/2006, 22:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 10 meses
Puntos: 1
Exclamación Encontrar Expresión Regular avanzada

Hola muchachos, recurro a ustedes porque siempre me dan una mano y la gran cosa que he aprendido es gracias a este foro ya que en los libros no lo esta todo.
Mi consulta es la siguiente, tengo una archivo TXT, el que contiene MUCHISIMAS lineas que tengo que extraer y luego pasarlos a una base de datos.
Cada linea del archivo tiene informacion como la siguiente (aqui le muestro de ejemplo 1 sola linea)
Código:
6pm.com,http://www.6pm.com,12/17/2006 08:20:55 AM,Fierce,"fierce,carlos,by,carlos,santana,dorsay,pumps,sale",6pm.com - Your online shoe source,84513,Carlos by Carlos Santana,10244,,,USD,0.00,97.95,0.00,,http://www.tkqlhce.com/click-175-103?url=http%3A%2F%2Fwww.6pm.com%2Fproducts%2Findex.cfm%3FmodelID%3D84513%26sourceid%3DCJSD0001,http://www.lduhtrp.net/image-179-11154,"http://a1472.g.akamaitech.net/f/1472/124/4h/img.ebags.com/is/image/im3/84513_2_1?&op_usm=.5,1,0,1&hei=249&wid=249",Women's Dress Footwear,,,,,,,,,,,,,,,,yes,,,
En las lineas, las palabras o si no hay palabras (osea dato 0 NULL) que estan entre comas (dato1,dato2,etc) es informacion independiente (la tengo que extraer) y cada una iria en una celda de mi base de datos. me explico hasta ahi?
El problema es el siguiente, hay informacion por ejemplo ("fierce,carlos,by,carlos,santana,dorsay,pumps,sal e") que esta entre comas, que a su vez tiene comillas (para identificarque que es una frase y que posiblemente esa frase tenga comas, pero esas comas pertenecen a la frase y no a informacion diferente). me siguen?

Como podria armar mi expresion regular para resolver este tipo de problema, porque lo unico que pude hacer por ejemplo es que siempre que algo este entre comas lo extraiga, pero aca el problema es mas complicado.

alguna idea? Uso expresiones regulares? Por favor ayudenme que necesito resolver el problema y de la forma mas optima.



Muchas Gracias y Felices Fiestas desde Argentina.

Última edición por jam1138; 22/12/2006 a las 04:32
  #2 (permalink)  
Antiguo 22/12/2006, 05:03
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 7 meses
Puntos: 102
Re: Encontrar Expresión Regular avanzada

A la vista asusta pero en realidad (por lo que entendí) no debería de ser tan complicado... por desgracia () no te puedo ayudar ahora (las expresiones regulares no son lo mio).

He editado tu mensaje para hacerlo legible. De verdad era muy complicado leerlo (ten cuidado en eso), además edito el título para hacerlo descriptivo. Un consejo: no impidas se te ayude... alguien podría sugerirte algo sea experto o no.... pero eso es otro tema.

Suerte .
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 22/12/2006, 07:50
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 4 meses
Puntos: 34
Re: Encontrar Expresión Regular avanzada

No es necesario, lo que tenes es un simple csv. Tenes funciones nativas de php para hacerlo (fgetcsv), o bien ir linea por linea haciendo esta tarea. Con el tema de las comas con un str_replace conseguis eliminarlas del "campo".

EJ:
Código PHP:
 <?php 
 $fp 
fopen "tu_archivo.csv" "r" ); 
while (( 
$data fgetcsv $fp 1000 "," )) !== FALSE ) {                  $i 0
        foreach(
$data as $row) {
                    echo 
"Campo $i: $row<br>"// aca podes hacer un explode de $row y limpiar en cada iteracion sus comillas
            
$i++ ;          
                  } 
         echo 
"<br><br>";
                            } 
        
fclose $fp ); 
      
?>
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 22/12/2006, 10:30
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 10 meses
Puntos: 1
Re: Encontrar Expresión Regular avanzada

Chicos ME SIRVIO BASTANTE, no tenia idea como podria solucionarlo, Muchas GRACIAS!!!
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 09:30.