Filtros de saída

Filtros de saída operam na saída do template, depois que o template é lido e executado, mas antes a saída é mostrada.

string smarty_outputfilter_name (string $template_output, object &$smarty)

O primeiro parâmetro para a função do filtro de saída é a saída do template que precisa ser processada, e o segundo parâmetro é a instância da Smarty invocando o plugin. O plugin deve fazer o precessamento e retornar os resultados.

Exemplo 16-9. output filter plugin

/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File: outputfilter.protect_email.php
 * Type: outputfilter
 * Name: protect_email
 * Purpose: Converts @ sign in email addresses to %40 as 
 * a simple protection against spambots
 * -------------------------------------------------------------
 */
 function smarty_outputfilter_protect_email($output, &$smarty)
 {
 return preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
 '$1%40$2', $output);
 }