Accueil > Docs > Utiliser des fonctions PHP pour filtrer une balise SPIP

Utiliser des fonctions PHP pour filtrer une balise SPIP

jeudi 20 septembre 2007, par b_b

Sur la page de documentation des filtres de SPIP, il est indiqué que :

« Les filtres de SPIP sont des fonctions PHP qui reçoivent la balise sur laquelle ils sont appliqués en premier paramètre et retournent le texte à afficher. Vous pouvez utiliser directement les fonctions habituelles de PHP, mais également créer les vôtres. »

On peut donc faire ce qui suit pour afficher le nombre de caractères renvoyés par la balise #TEXTE :

[(#TEXTE|textebrut|strlen)]

Ce code applique d’abord le filtre textebrut à la balise pour supprimer les balises HTML du texte. Puis on applique la fonction PHP strlen qui permet de renvoyer le nombre de caractères d’une chaîne.

Ce genre de code est pratique si vous n’avez pas besoin d’appliquer de fonctions complexes sous formes de filtre. Une autre solution est de se fabriquer un filtre "maison" dans un fichier mes_fonctions.php à placer dans le dossier squelettes.

Merci Fil ;)

Messages

  • Mais peut-on utiliser des fonctions dans les conditions d’une boucle spip (je veux par exemple ne garder que les articles dont le titre commence par ’fiche’, puis-je écrire entre accolades substr(titre,0,5)="fiche" ???)

    merci

    Bruno

  • Bonjour Bruno,

    Tu peux sélectionner les articles dont le titre commence par "fiche" en te servant d’une expression régulière comme ceci :

    {titre==^[fiche]}

    Sur la page de documentation de spip.net on peut lire ceci :

    le terme de comparaison « == » introduit une comparaison selon une expression régulière

    Bon courage ++

    Voir en ligne : Les critères communs à toutes les boucles

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.