Segue abaixo uma função para colocar máscara em strings.

/*
* Função para formatar uma string conforme a máscara especificada
*/
function mask($str, $mask)
{
    $maskared = '';
    $k        = 0;
    for ($i = 0; $i <= strlen($mask) - 1; $i++) {
        if ($mask[$i] == '#') {
            if (isset($str[$k])) {
                $maskared .= $str[$k++];
            }
        } else {
            if (isset($mask[$i])) {
                $maskared .= $mask[$i];
            }
        }
    }

    return $maskared;
}

Utilização: (Alguns exemplos)
$cnpj = "11222333000199";
echo mask($cnpj,'##.###.###/####-##');
/* Saída: 11.222.333/0001-99 */

$cpf = "00100200300";
echo mask($cpf,'###.###.###-##');
/* Saída: 001.002.003-00 */

$cep = "08665110";
echo mask($cep,'#####-###');
/* Saída: 08665-110 */

$data = "27022016";
echo mask($data,'##/##/####');
/* Saída: 27/02/2016 */

$str = "jefferson";
echo mask($str,'###-###-###');
/* Saída: jef-fer-son */