Output Filters
    When the template is invoked via display() or fetch(), its output can be
    sent through one or more output filters. This differs from postfilters
    because postfilters operate on compiled templates before they are saved to
    the disk, and output filters operate on the template output when it is
    executed.
   
    Output filters can be either 
    registered or loaded
    from the plugins directory by using
    load_filter() function or by
    setting
    $autoload_filters
    variable. Smarty will pass the template output as the first argument,
    and expect the function to return the result of the processing.
   
| Example 15-4. using a template outputfilter | 
<?php// put this in your application
 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;
 }
 
 // register the outputfilter
 $smarty->register_outputfilter("protect_email");
 $smarty->display("index.tpl");
 
 // now any occurrence of an email address in the template output will have
 // a simple protection against spambots
 ?>
 | 
 |