Filtros de Salida

Los Filtros de salida operan en la salida del template, después que el template es cargado y ejecutado, pero antes que la salida sea mostrada.

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

El primer parámetro de la función de filtro de salida es la salida del template que necesita ser procesada, y el segundo parámetro es la instancia del Smarty invocando el plugin. El plugin debe hacer el procesamiento y retornar los resultados.

Ejemplo 16-9. plugin de filtro de salida

<?php
/*
 * 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);
 }
?>