3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tel1 = "32280907"; //8 $tel2 = "4832280907"; //10 //$tel3 = "04832280907"; //11 $tel4 = "554832280907"; //12 //$tel5 = "5504832280907"; //13 //$tel6 = "84253990"; //8 $tel7 = "984253990"; //9 $tel8 = "48984253990"; //11 //$tel9 = "048984253990"; //12 $tel10 = "5548984253990"; //13 //$tel11 = "55048984253990"; //14 $ftel1 = "3228-0907"; //8 $ftel2 = "48 3228-0907"; //10 $ftel4 = "55 48 3228-0907"; //12 $ftel7 = "98425-3990"; //9 $ftel8 = "48 98425-3990"; //11 $ftel10 = "55 48 98425-3990"; //13 $telefone = '5548984253990'; $tamTel = strlen($telefone); $pattern = ""; $retorno = ""; switch($tamTel) { case 8: //9999-9999 $pattern = '/(\d{4})(\d{4})(\d*)/'; $retorno = preg_replace($pattern, '$1-$2', $telefone); break; case 9: //99999-9999 $pattern = '/(\d{5})(\d{4})(\d*)/'; $retorno = preg_replace($pattern, '$1-$2', $telefone); break; case 10: //99 9999-9999 $pattern = '/(\d{2})(\d{4})(\d{4})(\d*)/'; $retorno = preg_replace($pattern, '($1) $2-$3', $telefone); break; case 11: //99 99999-9999 $pattern = '/(\d{2})(\d{5})(\d{4})(\d*)/'; $retorno = preg_replace($pattern, '($1) $2-$3', $telefone); break; case 12: //99 99 9999-9999 $pattern = '/(\d{2})(\d{2})(\d{4})(\d{4})(\d*)/'; $retorno = preg_replace($pattern, '$1 $2 $3-$4', $telefone); break; case 13: //99 99 99999-9999 $pattern = '/(\d{2})(\d{2})(\d{5})(\d{4})(\d*)/'; $retorno = preg_replace($pattern, '$1 $2 $3-$4', $telefone); break; } echo $retorno; //$pattern = '/(\d{2})(\d{4})(\d*)/'; //$telefoneN = preg_replace($pattern, '($1) $2-$3', $telefone);

preferences:
46.49 ms | 402 KiB | 5 Q