Como retirar tudo que não for número em php?

Deixar apenas Número

Basta usar uma função com preg_replace e regex.

A função abaixo usa preg_replace para fazer a substituição da string por nada e a expressão regular de 0 a 9 com a negação representada por '^' o acento circunflexo.

function deixarNumero($string){
  return preg_replace("/[^0-9]/", "", $string);
}

Exemplos de uso:

$cpf = '525.760.310-13';
$cnpj = '92.933.378/0001-66';
$data = '15/06/2004';
$texto = '2 de 5';

echo deixarNumero($cpf);
echo '<br>';
echo deixarNumero($cnpj);
echo '<br>';
echo deixarNumero($data);
echo '<br>';
echo deixarNumero($texto);
echo '<br>';
echo deixarNumero('texto escrito direto com valor em reais R$10,00');

Retornos:

52576031013
92933378000166
15062004
25
1000

Quer acompanhar as novidade do site?

Leia mais em: ww.php.net/manual/pt_BR/funct...

elefante do PHP com textos e outros caracteres especiais com x em cima, apenas os números aparecendo

Última atualização: 2023-02-15