Respostas:
Tente o seguinte:
preg_replace('/[^0-9]/', '', '604-619-5135');
preg_replace usa PCREs que geralmente começam e terminam com a /
.
Isto é para futuros desenvolvedores, você também pode tentar isso. Simples também
echo preg_replace('/\D/', '', '604-619-5135');
Você precisaria colocar o padrão em um delimitador - normalmente uma barra (/) é usada. Tente o seguinte:
echo preg_replace("/[^0-9]/","",'604-619-5135');
uma maneira muito mais prática para quem não deseja usar o regex:
$data = filter_var($data, FILTER_SANITIZE_NUMBER_INT);
nota: também funciona com números de telefone.
(?flags)
), as pessoas que projetaram / escreveram a função / API acharam uma boa idéia passar os sinalizadores de regex com o formato de aspas duplas/flags
, em vez de usar um parâmetro de função extra.