Mascara com PHP

Postado 16:51 11/04/2018 por THIAGO CONDÉ COMPARTILHAR

fonte: http://blog.clares.com.br/php-mascara-cnpj-cpf-data-e-qualquer-outra-coisa/
PHP Máscara CNPJ, CPF, Data e qualquer outra coisa

Opa!  php máscara

Escrevi uma função para aplicar máscara em campos/valores como cpf, cnpj, data, hora, coordenadas estelares e o que desejar.


<?

function mask($val, $mask){
 $maskared = '';
 $k = 0;
 for($i = 0; $i<=strlen($mask)-1; $i++) {
   if($mask[$i] == '#') {
     if(isset($val[$k]))
       $maskared .= $val[$k++];
       } else {
       if(isset($mask[$i]))  
         $maskared .= $mask[$i];
       }
   }
 return $maskared;
}

?>



Exemplo de uso:


<?

$cnpj = "11222333000199";
$cpf = "00100200300";
$cep = "08665110";
$data = "10102010";

echo mask($cnpj,'##.###.###/####-##');
echo mask($cpf,'###.###.###-##');
echo mask($cep,'#####-###');
echo mask($data,'##/##/####');

?>




Saídas:
11.222.333/0001-99
001.002.003-00
08665-110
10/10/2010

A saída é exatamente como você definir com os “#”, você pode utilizar qualquer separador, qualquer caracter, ex:


<?

$data = "10102010";

echo mask($data,'##/##/####');
echo mask($data,'[##][##][####]');
echo mask($data,'(##)(##)(####)');

?>




Saídas:
10/10/2010
[10][10][2010]
(10)(10)(2010)

Exemplo esquisito que ninguém jamais utilizará:


<?

$hora = "021050";

echo mask($hora,'Agora são ## horas ## minutos e ## segundos');
echo mask($hora,'##:##:##');

?>




Saídas:
Agora são 02 horas 10 minutos e 50 segundos
02:10:50  (esse você vai usar, claro)

Enfim, desde que a quantidade de # seja igual a quantidade de números, ou seja  lá o que contiver a variável, porque não se limita apenas à números, poderia ser:


 <?

$str = "adoleta";
echo mask($str,'#-##-##-##');

 ?>



 

Saída: a-do-le-ta


<?

$valor = "100000";
echo mask($valor,'#.###,##');

?>




Sáida: 1.000,00

Pensou que era brincadeira o lance da coordenada estelar né ? tá bão!


<?

$coord_estelar = "10100505";
echo mask($coord_estelar,'p=(#.#,#.#,#.#,#.#)');

?>




Saída: p=(1.0,1.0,0.5,0.5)

É isso galera, sigam as estrelas! php máscara
abs


Comentários



Faça o login para enviar uma mensagem