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

Advertisement

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.

Example 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.
?>