Smarty Manual
Prev | Chapter 15. Advanced Features | Next

# 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, whereas 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 the `load_filter()` method or by setting the `$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 ?>`

See also `register_outpurfilter()`, `load_filter()`, `$autoload_filters`, postfilters and `$plugins_dir`.

Prev | Home | Next
Postfilters | Up | Cache Handler Function