Programmer avec SPIP 3.0
Documentation technique sur SPIP 3.0

> > > > Syntaxe des filtres

Syntaxe des filtres

Les filtres s’appliquent sur les balises en utilisant le caractère « | » (pipe). En pratique, ils correspondent à l’appel d’une fonction PHP existante ou déclarée dans SPIP.

  1. [(#BALISE|filtre)]
  2. [(#BALISE|filtre{argument2, argument3, ...})]

Télécharger

Lorsqu’un filtre « x » est demandé, SPIP cherche une fonction nommée « filtre_x ». Si elle n’existe pas, il cherche « filtre_x_dist », puis « x ». Il exécute alors la fonction qu’il a trouvée avec les arguments transmis. Il est important de comprendre que le premier argument transmis au filtre (à la fonction PHP donc) est le résultat de l’élément à gauche du filtre.

Exemple

Insérer un élément title sur un lien. Pour cela, on utilise les filtres |couper, qui permet de couper un texte à la taille voulue, et |attribut_html, qui permet d’échapper les apostrophes qui pourraient gêner le code HTML généré (exemple : title='à tire d'ailes' poserait problème à cause de cette apostrophe.).

Le filtre |couper s’applique sur le résultat de la balise #TITRE, le filtre |attribut_html sur le résultat du filtre |couper. On peut donc chaîner les filtres.

  1. <a href="#URL_ARTICLE"[ title="(#TITRE|couper{80}|attribut_html)"]>Article suivant</a>