Filtres PHP

Ces filtres viennent directement de PHP et utilisent donc les mêmes paramètres :

Filtres de texte

truncate

Arguments :

Tronque un texte à une longueur définie.

excerpt

Produit un extrait d'un texte.

Supprime les tags HTML, tronque au nombre de caractères indiqué en second argument (si rien n'est indiqué, alors 600 est utilisé), et englobe dans un paragraphe <p>...</p>.

Équivalent de :

<p>{{$html|strip_tags|truncate:600|nl2br}}</p>

protect_contact

Crée un lien protégé pour une adresse email, pour éviter que l'adresse ne soit recueillie par les robots spammeurs (empêche également le copier-coller et le lien ne fonctionnera pas avec javascript désactivé).

escape

Échappe le contenu pour un usage dans un document HTML. Ce filtre est appliqué par défaut à tout ce qui est affiché (variables, etc.) sauf à utiliser le filtre raw (voir plus bas).

xml_escape

Échappe le contenu pour un usage dans un document XML.

raw

Passer ce filtre désactive la protection automatique contre le HTML (échappement) dans le texte. À utiliser en connaissance de cause avec les contenus qui contiennent du HTML et sont déjà filtrés !

{{"<b>Test"}} = &lt;b&gt;Test
{{"<b>Test"|raw}} = <b>Test

args

Remplace des arguments dans le texte selon le schéma utilisé par sprintf.

{{"Il y a %d résultats dans la recherche sur le terme '%s'."|args:$results_count:$query}}
= Il y a 5 résultat dans la recherche sur le terme 'test'.

count

Compte le nombre d'entrées dans un tableau.

{{$products|count}}
= 5

cat

Concaténer un texte avec un autre.

{{"Tangerine"|cat:" Dream"}}
= Tangerine Dream

math

Réalise un calcul mathématique. Cette fonction accepte :

Le résultat est renvoyé sous la forme d'un entier, ou d'un nombre flottant dont les décimales sont séparées par un point.

{{"1+1"|math}}
= 2

Il est possible de donner d'autres arguments, de la même manière qu'avec args pour y inclure des données provenant de variables :

{{:assign age=42}}
{{"1+%d"|math:$age}}
= 43
{{:assign prix=39.99 tva=19.1}}
{{"round(%f*%f, 2)"|math:$prix:$tva}}
= 47.63

Il est aussi possible d'utiliser

replace

Remplace des parties du texte par une autre partie.

{{"Tata yoyo"|replace:"yoyo":"yaya"}}
= Tata yaya

regexp_replace

Remplace des valeurs en utilisant une expression rationnelles (regexp) (documentation PHP).

{{"Tartagueule"|regexp_replace:"/ta/i":"tou"}}
= tourtougueule

size_in_bytes

Renvoie une taille en octets, Ko, Mo, ou Go à partir d'une taille en octets.

{{100|size_in_bytes}} = 100 o
{{1500|size_in_bytes}} = 1,50 Ko
{{1048576|size_in_bytes}} = 1 Mo

typo

Pour le français.

Ajoute des espaces insécables (&nbsp;) devant ou derrière les ponctuations françaises (« » ? ! :).

money

Formatte une valeur de monnaie (exprimée avec les cents inclus : 1502 = 15,02) pour l'affichage :

{{$amount|money}}
15,02

money_currency

Formatte une valeur de monnaie en ajoutant la devise :

{{$amount|money_currency}}
15,02 €

remove_leading_number

Supprime le numéro au début d'un titre.

Cela permet de définir un ordre spécifique aux pages et catégories dans les listes.

{{"03. Beau titre"|remove_leading_number}}
Beau titre

extract_leading_number

Extrait le numéro du titre.

check_email

Permet de vérifier la validité d'une adresse email. Cette fonction vérifie la syntaxe de l'adresse mais aussi que le nom de domaine indiqué possède bien un enregistrement de type MX.

Renvoie true si l'adresse est valide.

{{if !$_POST.email|check_email}}
<p class="alert">L'adresse e-mail indiquée est invalide.</p>
{{/if}}

Filtres de date

Filtres de condition

Ces filtres renvoient 1 si la condition est remplie, ou 0 sinon. Ils peuvent être utilisés dans les conditions :

{{if $page.path|match:"/aide"}}Bienvenue dans l'aide !{{/if}}