Foros del Web » Programando para Internet » PHP »

Parseo frustrante (expr. regulares)

Estas en el tema de Parseo frustrante (expr. regulares) en el foro de PHP en Foros del Web. Amigos: a ver... si me ayudan con esta! Tengo que parsear como "registros" para encontrar los campos a saber: Name, E-Mail, Web Site Name, ..... ...
  #1 (permalink)  
Antiguo 19/11/2007, 11:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Pregunta Parseo frustrante (expr. regulares)

Amigos: a ver... si me ayudan con esta!

Tengo que parsear como "registros" para encontrar los campos a saber: Name, E-Mail, Web Site Name, ..... etc.

El problema es que no logro escribir una expresion regular que matchee con toda la expresion (registro) // a ver si me ayudan de nuevo!!

$pedidos="Question
Answer
IP
201.254.57.44
Date Time
2007-11-15 12:13:21
Name:
lucas ferreyra
E-mail:
[email protected]
Web Site Name:
El Lobizon del Oeste
Web Site URL:
http://lobizondeloeste.blogspot.com/
Other Category:
0.10.2
Description:
Un blog dedicado a los fenomenos paranormales y a las leyendas
urbanas.
_^_
Question
Answer
IP
190.18.3.86
Date Time
2007-11-15 02:24:31
Name:
maxiaznarez
E-mail:
[email protected]
Web Site Name:
Jump In - Fotos, Videos, Juegos, Imagenes, HIGH SCHOOL
MUSICAL, Jump In la Pelicula
Web Site URL:
http://jumpinfanaticos.blogspot.com
Other Category:
0.9.4
Description:
JUMP IN! El blog de Jump in!, Fotos de Jump in, Videos de Jump
in, Imagenes de Jump in, Juegos de Jump in, Personajes de Jump
in, Wallpapers de Jump in, Fondos, Canciones, Cantante, Pelicula
Jump in!, Salta con Nosotros!
_^_"; // son como 50 y esto es un pedazo


$pedidos = stripslashes ($pedidos); // elimino \'
$texto =str_replace("\"" , "'" ,$pedidos); //reemplazo comillas dobles [ chr(34) ] por simples para simplificar expr reg

$a = array("#[a-zA-Z0-9\-\.]+Name:(*.?)E-mail:(*.?)Web Site URL:(*.?)Other Category:(*.)Description:(*.?)#is");
$sep = "_^^^_"; // separador de cadenas para SPLIT

// Name:
$b = array("$1".$sep);
$name_ = preg_replace($a, $b, $texto);
$name = explode($sep, $name_); // separo (split) en sub-cadenas con el separador $sep
echo $name[0];
__________________
Salu2!
  #2 (permalink)  
Antiguo 19/11/2007, 14:29
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Parseo frustrante (expr. regulares)

Al final.... termine conviertiendo todo en un CSV e importandolo como archivo de texto puro....

Dio trabajo pero salio
__________________
Salu2!
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 11:36.