¿Dividir "enteros" aparte de una cadena como "ABC123"?

Con PHP, quiero recortar "Sólo enteros" entre las cadenas que se combinan con "Caracteres" + "Enteros".

The sample Strings will be:
- AB12 ---------> 12
- GJR987 ------> 987
- X28753 -------> 28753
.. like that.

Is it the way of preg_split ? I hope it is but i don't surely know the REGEXP for it. I only know following one but it gives strings only back.

preg_split('/\d+/',$INPUT,-1,PREG_SPLIT_OFFSET_CAPTURE);

How can i do?

0

4 Respuestas

Puedes usar esto:

$pattern = '/(\d+)/';
preg_match($pattern, $string, $matches);
$matches = $matches[1];

and it will work as you can see here: http://ideone.com/Bnbgd

4
agregado
Wowww! Esto es todo amigo! Muchas gracias y eso es genial!
agregado el autor 夏期劇場, fuente

Hay una función preg_match() ... La expresión regular que puede usar es '/ (\ d +) /'

1
agregado

Una buena manera de usar regexp:

<?php
$string = 'GJR987A9FD34';
preg_match_all('/(\d+)/', $string, $matches);
$number = implode('',$matches[0]);
echo $number; # => 987934
?>
1
agregado

Esto parece funcionar

$test="ABC123";
$final="";
for ($i = 0; $i < strlen($test); $i++) {

    if(is_numeric($test[$i])){
        $final=$final.$test[$i];

    }

}
echo $final;
0
agregado
PHP - Comunidad española
PHP - Comunidad española
6 de los participantes

En este grupo hablamos de PHP. Partner: es.switch-case.com