Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Shop for 2018 World Cup Football Boots Online sale at guthjcc.com

Browse best 2018 world cup soccer cleats and shoes from SoccerAzteca.com

Advertisement

Filtres de sortie

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.

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 2 plus 17? (Are you human?)

Advertisement