Foros del Web » Programando para Internet » PHP »

Expresiones Regulares en PHP

Estas en el tema de Expresiones Regulares en PHP en el foro de PHP en Foros del Web. Buenas, estoy haciendo un sistemita en la cual leo un archivo .txt con el funcion $filas=file($archivo); Cada linea del archivo representa un numero el cual ...
  #1 (permalink)  
Antiguo 17/03/2009, 14:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 10 años, 8 meses
Puntos: 0
Expresiones Regulares en PHP

Buenas, estoy haciendo un sistemita en la cual leo un archivo .txt con el funcion
$filas=file($archivo); Cada linea del archivo representa un numero el cual debe comenzar por (58412, 58416, 58426, 58414 o 58424) y debe tener una longitud maxima de 12 digitos. El patron de comparacion que realice es el siguiente $patron_numero="^58(4[12][246])[0-9]{7}$"; Pero al realizar la comparacion unicamente compara el ultimo numero del archivo, para realizar la comparacion utilizo
if (ereg($patron_numero, $numero))
{
}


Saludos.
  #2 (permalink)  
Antiguo 17/03/2009, 15:50
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 13 años
Puntos: 36
Respuesta: Expresiones Regulares en PHP

$patron_numero="^584(12|16|26|14|24){1}[0-9]{7}$
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #3 (permalink)  
Antiguo 18/03/2009, 11:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Expresiones Regulares en PHP

Gracias por la Respuesta,

Modifique el patron pero me sigue comparando unicamente la ultima linea que leo del archivo.

Lo que sucede es lo siguiente yo voy comparando con el patron, linea a linea del archivo, cada una de las lineas representa un numero. Si le quito el ($) al final del patron si realiza la comparacion pero unicamente los 12 primeros caracteres, es decir, si los 12 primeros caracteres son validos me toma el numero como valido.

El codigo que tengo es el siguiente:

Código PHP:
$patron_numero="^584(12|16|26|14|24){1}[0-9]{7}$"
$filas=file($archivo);
$i=0;
while((
$numero=$filas[$i]) != NULL
{        
     if (
ereg($patron_numero$numero))             
    {
         
lineas de codigo;
    }
$i++;

Saludos
  #4 (permalink)  
Antiguo 30/03/2009, 08:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Expresiones Regulares en PHP

Despues de revisar y revisar la solucion a mi problema fui demasiado sencilla, por no decir tonta todo lo solucione declarando la variable $numero antes de asignarle el valor de la lectura del archivo y listo se soluciono. No se porque razon sin declararla anteriormente no me funcionaba pero bueno...
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 07:29.