Filtros de salida
Cuando el template es invocado a través de display() o fetch(),
su salida puede ser enviada a través de uno o mas filtros de salida.
Este es diferente a los postfilters porque los postfilters operan en
los templates compilados antes de ser salvados en disco, y los filtros
de salida operan en la salida del template cuando este es ejecutado.
Los Filtros de Salida pueden ser
registrado o
cargados del directorio de plugins usando la función
load_filter() o
configurando a variable
$autoload_filters.
El Smarty pasara la salida como el primer argumento, y espera
que la función retorne el resultado del procesamiento.
Ejemplo 15-4. Usando un filtro de salida de template
<?php // ponga esto en su aplicación 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 el outputfilter $smarty->register_outputfilter("protect_email"); $smarty->display("index.tpl");
// Ahora cualquier ocurrencia de una dirección de email en la salida // del template tendra una simple protección contra spambots ?>
|
|