2010-08-24 28 views
2

Est-il possible de dire à Smarty de PHP que vous voulez supprimer tous les espaces dans vos templates avant de les envoyer au navigateur, comme si tous vos templates étaient intégrés dans les tags {strip}? Une sorte de paramètre d'objet Smarty ou quelque chose?Éliminer les espaces des templates smarty de PHP

Répondre

0

Vous pouvez créer et enregistrer un output filter pour ce faire; Dans le filtre de sortie, vous pouvez utiliser par exemple this function pour supprimer les espaces inutiles.

2

Dans votre dossier de plug-in Smarty il y a un filtre qui peut être facilement adapté à la tâche: il est outputfilter.trimwhitespace.php.

il suffit d'ajouter la ligne

$source = preg_replace("`\s+`ms", " ", $source); 

(du post sur le forum lié par Martin) à la ligne 51, puis appeler le filtre de sortie.

L'avantage est que ledit filtre fait un bon travail de sauvegarde, puis restaurer les blocs de code où vous voudrez peut-être laisser des espaces seul - à l'intérieur scénario, pré et textarea éléments (I'dd ajouter le code élément à la liste, aussi).