PHP Classes

File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/advanced-features/advanced-features-prefilters.md

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/advanced-features/advanced-features-prefilters.md   Download  
File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/advanced-features/advanced-features-prefilters.md
Role: Example script
Content type: text/markdown
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change:
Date: 2 months ago
Size: 1,233 bytes
 

Contents

Class file image Download

Prefilters {#advanced.features.prefilters}

Template prefilters are PHP functions that your templates are ran through before they are compiled. This is good for preprocessing your templates to remove unwanted comments, keeping an eye on what people are putting in their templates, etc.

Prefilters can be either registered or loaded from the plugins directory by using loadFilter() function or by setting the $autoload_filters variable.

Smarty will pass the template source code as the first argument, and expect the function to return the resulting template source code.

This will remove all the html comments in the template source.

<?php
// put this in your application
function remove_dw_comments($tpl_source, Smarty_Internal_Template $template)
{
    return preg_replace("/<!--#.*-->/U",'',$tpl_source);
}

// register the prefilter
$smarty->registerFilter('pre','remove_dw_comments');
$smarty->display('index.tpl');
?>

  

See also registerFilter(), postfilters and loadFilter().