Фильтры вывода

Плагины фильтров вывода оперирут выходным кодом шаблона после того, как шаблон был загружен и обработан, но перед его выводом в браузер.

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

Первый параметр функции фильтра вывода - это выходной код шаблона который должен быть обработан, а второй параметр - это экземпляр объекта Smarty, вызвавший этот плагин. Плагин предназначен для обработки и возврата результата.

Example 16.9. Плагин фильтра вывода


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * Файл:     outputfilter.protect_email.php
 * Тип:     outputfilter
 * Имя:     protect_email
 * Назначение:  Конвертировать символ @ в адресах email в %40 для
 *           простейшей защиты от спамботов.
 * -------------------------------------------------------------
 */
 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);
 }
?>