Foros del Web » Programando para Internet » PHP »

Coger los numeros

Estas en el tema de Coger los numeros en el foro de PHP en Foros del Web. Buenas; Estoy buscando la manera de quitar todos los carácteres (letras, comas...) de una quedándome sólo con los los números. ¿Hay algún FORMAT_NUMBER o algo ...
  #1 (permalink)  
Antiguo 27/02/2003, 05:45
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 15 años, 6 meses
Puntos: 0
Coger los numeros

Buenas;

Estoy buscando la manera de quitar todos los carácteres (letras, comas...) de una quedándome sólo con los los números. ¿Hay algún FORMAT_NUMBER o algo así?

GRACIAS
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 27/02/2003, 07:19
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 16 años, 7 meses
Puntos: 2
en el faq hablan de eso
echale una mirada a

http://www.forosdelweb.com/out.php?h...5%23post240675

espero te sea lo que andas buscando?

saludos
  #3 (permalink)  
Antiguo 27/02/2003, 07:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usando expresiones (bien) sería lo ideal .. Lo mio no son las Exp.reg .. pero igual aquí te dejo un ejemplito:

Código PHP:
<?
$variable
="asdf998asdf,0897.3&%+";
$variable=eregi_replace("[a-z,.&%$#@\"!?¿=/\*\+,ñ]","",$variable);

echo 
$variable;
?>
(medio va la exp-reg .. pero no se hacer para lo contrario de [0-9] xD que sería lo ideal para no estar poniendo todo los caracteres ASCII ... q puse ..)

Y .. la solución "a lo bruto" sería:

Código PHP:
$variable="asdf998asdf,0897.3&%+";
$variable_numeros="";
$total_caracteres=strlen($variable);
for (
$i=0$i <= $total_caracteres$i++){
    if(
is_numeric($variable[$i])){
       
$variable_numeros .= $variable[$i];
    }
}

echo 
$variable_numeros
Funciona correctamente .. aunque como veras es mas "código" y tal vez mas lento en ejecución q usando expresiones regulares ..

Un saludo,
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 12:57.