Hoje vou ensinar uma coisa muito simples e ao mesmo tempo muito útil, como deixar apenas os números em uma string, descartando todo o resto.
Utilizaremos expressão regular para isso, e utilizaremos a função preg_replace (é similar a str_replace mas nessa função utilizamos expressões regulares na busca da palavra procurada ao invés de uma string simples)
Exemplo:
$string = "O número é: 123!"; $numeros = preg_replace("/[^0-9]/", "", $string); echo $numeros; // O resultado será apenas os numeros da string
O exemplo acima irá imprimir apenas 123
O segredo está no operador ^ que está dentro dos colchetes, esse operador indica para ignorar aqueles caracteres (de 0 até 9) que estão dentro do colchetes (Lembrando que esse operador fora dos colchetes em expressão regular indica que a string deve começar com os parâmetros informados logo apos o operador).
sendo assim tudo oque não for numero será substituído pelo segundo parâmetro da função preg_replace que no nosso caso está vazia, então será removida da string.
Bom é isso pessoal, essa é uma dica bem simples, mas que nos quebra um p*** galho na hora de realizar validações hahaha 😉