Deixar somente os números de uma String PHP

Esta função retorna somente os números de uma string informada.

  1. function soNumero($str) {
  2.     return preg_replace("/[^0-9]/", "", $str);
  3. }

Como usar:

  1. $filtro = soNumero("teste321");

$filtro -> “321”

Comments

25 Responses to “Deixar somente os números de uma String PHP”

  1. Tihh on março 23rd, 2009 8:26

    hehehe..
    Apesar de ser “simples”, sempre gosto dessas dícas a mão na internet! ^^

  2. Raul Souza Silva on dezembro 6th, 2010 14:35

    Se a preocupação é apenas filtrar, aqui vai uma dica:
    usar os casts:

    $id = (int) $_GET[‘id’];

    site.php?id=1 ‘ or ‘1’=’1

    echo $id;

    retorno sera apenas 1.

  3. Cesar Bagatoli on dezembro 6th, 2010 16:40

    Sua dica é valida sim, porém esta função serve para outras coisas além deste seu exemplo, neste caso a função retornaria “111”. Obrigado pela visita.

  4. rodolfo on abril 14th, 2011 10:42

    A dica continua sendo mto util!
    Vlw!

  5. Marcel Ramon on julho 28th, 2011 14:28

    Ajudou bastante!! Parabéns!!

  6. Thiago on novembro 4th, 2011 10:36

    Muito obrigado!!! Fácil, rápido e em uma linha 🙂

  7. Rodolfo Jorge Nemer Nogueira on fevereiro 2nd, 2012 12:43

    Boa dia! Eu estava tratando um CEP em javascript, mas achei essa dica e vou fazer o tratamento no PHP mesmo. Valeu amigo!

    Rodolfo Nogueira
    UFPR Música – Curitiba Paraná

  8. estevao on fevereiro 21st, 2012 17:28

    Rapaz vc salvou meu dia com esta dica. 🙂

  9. Alex on maio 2nd, 2013 16:31

    Não esquecendo que usando assim:

    $id = (int) $_GET[‘id’];

    se for id = 01 terá problemas, pois em inteiro ficará
    id = 1.

    Prefiro usar essa função:

    function numero($var){
    if(!is_numeric($var)){
    $var = 0;
    }
    return $var;
    }

    Abraços, GOD BLESS!

  10. Rodolfo Jorge Nemer Nogueira on maio 6th, 2013 11:08

    Excelente dica amigo! Salvou meu dia!
    Rodolfo Jorge Nemer Nogueira

  11. LUISAO on dezembro 4th, 2013 8:24

    PARABENS 2x! Adorei a dica e vc foi o PRIMEIRO resultado da Google na minha pesquisa –php deixar somente numeros–

  12. Emanuel on janeiro 7th, 2015 9:35

    E pra mim pegar somente as letras como faço?

  13. Cesar Bagatoli on janeiro 13th, 2015 10:35

    Olá, desculpe a demora, podes usar a expressão regular “/[A-Za-z]/”. Se quiser acentuação será que adicionar também na expressão cada uma delas. Obrigado por visitar.

  14. roberto marcos on março 19th, 2015 12:19

    comigo não funciona, to pegando uma string do javascript que retorna o tamanho da tela do browser, dou um ‘echo’ e imprime certo, mais preciso fazer um operação matemática com esse resultado e o php não consegue fazer essa operação com a string.
    alguem tem uma ideia do que to fazendo errado

    to pegando a string assim
    $largura2 = ” var largura = window.innerWidth; document.write(largura);”;

  15. roberto marcos on março 19th, 2015 12:22

    obs:não ta aparecendo as tags do javscript porque o blog ta retirando mas no meu script ta com as tegs do javascript
    “”

  16. Cesar Bagatoli on março 19th, 2015 13:08

    Olá Roberto, não entendi a utilização da função de deixar somente os números com esse trecho de código que você enviou, poderia me enviar um email com mais código para ver se eu consigo te ajudar? Meu email está no blog, em currículo ou no qr-code. Obrigado

  17. Ednei on abril 13th, 2016 20:35

    Era o que eu precisava, muito útil!

  18. Talles Freela on junho 22nd, 2016 15:21

    ÓTIMA DICA E SE EU TENHO UMA LISTA DE CPFS – EXEMPLO: 10 CPF EM UMA LISTA. E PRECISO EXIBIR SOMENTE OS QUE POSSUEM O 9° DIGITO 3.

    COMO DEVO PROCEDER ? ACREDITO QUE ESSA SEJA A FUNÇÃO CORRETA.
    USO explode ?

    SE PUDER PASSAR UM EXEMPLO BÁSICO …. SERÁ DE GRANDE AJUDA !

  19. Cesar Bagatoli on junho 23rd, 2016 8:19

    Olá Talles, esta função pode ajudar sim, mas só com ela não. Você pode usar ela dentro do loop da lista de CPFs para deixar somente os números, depois disso você poderia aplicar em cima do retorno um “str_pad” para certificar que o CPF fique com 11 dígitos e depois você pode verificar o 9º dígito direto na string do CPF, por exemplo: $cpf[8] == “3”, onde o índice 8 seria o nono dígito pois começa do zero no array.
    Espero ter ajudado. Obrigado.

  20. Douglas on novembro 24th, 2016 15:17

    Mato a pau perfeita a dica!!!

  21. caike on setembro 28th, 2017 20:01

    Muito bom cara! Vlw!

  22. Arielson on abril 1st, 2018 16:16

    Thanks You

  23. Lucas Leite on setembro 13th, 2018 16:07

    Obrigado pela dica fácil e rápida!

  24. Clayton Nunes on janeiro 15th, 2019 23:00

    muito bom!! Parabéns

  25. Nathan on junho 11th, 2019 11:23

    Dica muito útil. Obrigado.

Leave a Reply