smarty template engine
Thursday, November 20, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Ausgabefilter

Wenn ein Template mit 'display()' oder 'fetch()' benutzt wird, kann die Ausgabe durch verschieden Ausgabefilter geschleust werden. Der Unterschied zu 'post'-Filtern ist, dass Ausgabefilter auf die durch 'fetch()' oder 'display()' erzeugte Ausgabe angewendet werden, 'post'-Filter aber auf das Kompilat vor seiner Speicherung im Dateisystem.

Ausgabefilter können auf verschiede Arten geladen werden. Man kann sie registrieren, aus dem Plugin-Verzeichnis mit load_filter() laden oder $autoload_filters verwenden. Smarty übergibt der Funktion als ersten Parameter die Template-Ausgabe und erwartet als Rückgabewert die bearbeitete Ausgabe.

Beispiel 15-4. Ausgabefilter verwenden

<?php

// fügen Sie folgende Zeilen in Ihre Applikation ein
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;
}
     
     
// Ausgabefilter registrieren
$smarty->register_outputfilter("protect_email");
$smarty->display("index.tpl");

// von nun an erhalten alle ausgegebenen e-mail Adressen einen
// einfach Schutz vor Spambots.
?>



 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.