Formatando CPF e CNPJ
Dezembro 31, 2007Tenho um campo em um banco da dados que armazena tanto CPF quanto CNPJ mas só com os números, sem os pontos, traços e barras. Então chega uma hora que preciso mostrar o CPF e o CNPJ com a devida formatação então em vez de escrever uma função fiz essa linha:
echo vsprintf(strlen($cpjf=”00000000000″)==11?”%s%s%s.%s%s%s.%s%s%s-%s%s”:”%s%s.%s%s%s.%s%s%s/%s%s%s%s-%s%s”,str_split($cpjf));
No primeiro argumento de vsprintf eu vejo se o tamanho da string é 11 e se for o argumento recebe a string de formatação “%s%s%s.%s%s%s.%s%s%s-%s%s” que é a do CPF e se não for recebe a do CNPJ. No outro argumento eu uso str_plit para transformar a string em um array.
Achei curioso que eu posso dar um valor à variável $cpf na resolução da expressão do primeiro argumento e ele fica disponivel para o segundo.
