What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Quand le template est appelé via les fonctions
display()
ou
fetch()
,
sa sortie est envoyée à travers un ou plusieurs filtres de sorties.
Ils diffèrent des filtres
de post-compilation dans le sens où ils agissent sur la sortie
des templates, une fois exécutés, et non sur les sources des templates.
Les filtres de sortie peuvent être soit
déclarés soit
chargés depuis les répertoires
des plugins en utilisant la fonction
load_filter()
ou en réglant la variable
$autoload_filters
.
Smarty passera la sortie du template en premier argument et attendra
de la fonction qu'elle retourne le résultat de l'exécution.
Example 15.4. Utilisation d'un filtre de sortie
<?php // mettez ceci dans votre 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; } // enregistre le filtre de sortie $smarty->register_outputfilter('protect_email'); $smarty->display('index.tpl'); // dorénavant toute occurence d'un adresse email dans le résultat du template // aura un protection simple contre les robots spammers ?>
Voir aussi
register_outpurfilter()
,
load_filter()
,
$autoload_filters
,
les filtres de post-compilation et
$plugins_dir
.