Плагины фильтров вывода оперирут выходным кодом шаблона после того, как шаблон был загружен и обработан, но перед его выводом в браузер.
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);
}
?>