Output Filters (Filtros de Saída)
Quando o template é invocado via display() ou fetch(), sua saída pode ser enviada
através de um ou mais filtros de saída. Estes diferem dos postfilters porque postfilters
operam em templates compilados antes de serem salvos para o disco, e os filtros de saída
operam na saída do template quando
ele é executado.
Filtros de Saída podem ser ou
registrado ou carregado
do diretório de plugins usando a função
load_filter() ou configurando a variável
$autoload_filters.
O Smarty passará a saída como o primeiro argumento,
e espera a função retornar o resultado
do processamento.
Exemplo 15-4. usando um filtro de saída de template <?php
// ponha isto em sua aplicação
function protect_email($tpl_output, &$smarty)
{
$tpl_output =
preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
'$1%40$2', $tpl_output);
return $tpl_output;
}
// registra o outputfilter
$smarty->register_outputfilter("protect_email");
$smarty->display("index.tpl");
// agora qualquer ocorrência de um endereço de email na saída do template terá uma
// simples proteção contra spambots
?> |
|