Formatar telefones
<?php
/**
*
* Formata um número de telefone para o formato (11) 11111-1111
*
* @author Kennedy Tedesco
* @param string $numero
* @return string
*/
function formatarTelefone($numero) {
$numero = preg_replace('/^[+]\d{2}|[^\d]/', '', $numero);
return preg_filter('/^(\d{2})(\d{4,5})(\d{4})$/', '($1) $2-$3', $numero);
}
// Exemplos
echo formatarTelefone('31991268787'); // 9 Dígitos
echo formatarTelefone('31 99126 8787'); // 9 Dígitos
echo formatarTelefone('31 99126-8787'); // 9 Dígitos
echo formatarTelefone('31-99126-8787'); // 9 Dígitos
echo formatarTelefone('3191268787'); // 8 Dígitos
echo formatarTelefone('+553191268787'); // 8 Dígitos
/*
(31) 99126-8787
(31) 99126-8787
(31) 99126-8787
(31) 99126-8787
(31) 9126-8787
(31) 9126-8787
*/