Extraiga un entero único (sin signo) de una cadena

Resuelto Dali asked hace 54 años • 23 respuestas

Quiero extraer los dígitos de una cadena que contiene números y letras como:

"In My Cart : 11 items"

Quiero extraer el número 11.

Dali avatar Jan 01 '70 08:01 Dali
Aceptado

Si solo desea filtrar todo lo que no sean números, lo más fácil es usar filter_var :

$str = 'In My Cart : 11 items';
$int = (int) filter_var($str, FILTER_SANITIZE_NUMBER_INT);
Daniel Bøndergaard avatar Sep 25 '2012 11:09 Daniel Bøndergaard
$str = 'In My Cart : 11 12 items';
preg_match_all('!\d+!', $str, $matches);
print_r($matches);
Gaurav avatar Jun 08 '2011 11:06 Gaurav
preg_replace('/[^0-9]/', '', $string);

¡Esto debería funcionar mejor!...

Mahipalsinh Ravalji avatar Feb 09 '2013 14:02 Mahipalsinh Ravalji

Usando preg_replace:

$str = '(111) 111-1111';
$str = preg_replace('/\D/', '', $str);
echo $str;

Salida: 1111111111

Akash Deep avatar Jun 03 '2014 04:06 Akash Deep