Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2008, 11:10
dvd1975
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 4 meses
Puntos: 1
duda expresiones regulares ereg y preg_match

hola estoy haciendo un ejercicio

y me surge una duda
yo tengo que meter unos numeros

12 13.5-6.7

su separador puede ser los espacios en blanco o bien guiones
estoy utlizando preg_match
y lo que hago es un
variable llamada $stock introduzco los numeros
se almacenan alli, pero luego caracter a caracter, quiero comprobar que solamente o son numeros del 0-9 o un espacio en blanco o un guion
utilizo preg_match pero cuadno hago la expresion de abajo no me funcionan me
aparece un error,
he ido a php.net entiendo lo que explica pero aplico lo que dice y no me sale

$mal=0;

while($i<strlen($stock)|| $mal==0)
{
if((preg_match("/[a-z]||[A-Z]||á||é||í|ó||ú||ñ||ü||\@|\*||\+/",$stock))
$mal=1;

}
if($mal==0)
print("La cadena correcta es".$stock);

else
print("La cadena es incorrecta");
}


tambien tengo una duda con ereg
aparece en php.net el siguiente ejemplo

El siguiente fragmento de código toma una fecha en formato ISO (AAAA-MM-DD) y la imprime en formato DD.MM.AAAA:


if ( ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs ) ) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Invalid date format: $date";
}

si los años son AAAA entiendo que sea "([0-9]{4})-
pero porque luego en los MM pone })-([0-9]{1,2})- no se podria poner en vez de 1,2 solamente 2 es decir })-([0-9]{2})-
alguien me puede contestar
gracias