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:
Quando il template viene richiamato via display() o fetch(), è possibile eseguire uno o più filtri sul suo output. Ciò è diverso dai postfiltri, perché questi ultimi lavorano sul template compilato prima che venga salvato su disco, mentre i filtri dioutput lavorano sull'output del template quando viene eseguito.
I filtri di output possono essere registrati o caricati dalla directory plugins con la funzione load_filter() oppure impostando la variabile $autoload_filters. Smarty passerà l'output del template come primo argomento, e si aspetterà che la funzione restituisca il risultato dell'esecuzione.
Example 15.4. uso di un filtro di output
<?php // mettiamo questo nell'applicazione 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; } // registriamo il filtro $smarty->register_outputfilter("protect_email"); $smarty->display("index.tpl"); // ora ogni indirizzo email nell'output del template avrà una semplice // protezione contro gli spambot ?>