Laboratoire

Accueil > SPIP > Filtre de texte pour SPIP

Filtre de texte pour SPIP

24-11-2015 màj 24-11-2015

Pour nettoyer le texte de certaines inclusions dûes aux plugins.

En utilisant le plugin Lecteur multimédia, il arrive de voir s’afficher le chemin du fichier que l’on a inséré dans le texte de l’article. Cela arrive notamment lorsqu’on appelle la balise #INTRODUCTION.

Capture d'un texte avec le chemin vers le fichier vidéo

Pour pallier à ce petit désagrément, il suffit de créer un filtre.

Tout d’abord, si le fichier n’existe pas, créer mes_fonctions.php dans le dossier squelettes.

Ensuite, y copier cette fonction :

<?php
function sans_chemin($str) {
       $mots = explode(' ',$str);
       $new_str = '';
       for($i = 0; $i < count($mots); $i++) {
               if(!ereg('^IMG\/',trim($mots[$i])))
                       $new_str .= $mots[$i].' ';
       }
       return trim($new_str);
}
?>

Le filtre parcourt le texte et supprime tous les mots (chaines de caractères entre 2 espaces) qui commencent par IMG/

Enfin, dans le squelette, filtrer comme ceci :

[(#INTRODUCTION|sans_chemin)]

Capture du texte filtré, sans le chemin vers le fichier vidéo

Plus simple encore, et d’une manière générale, c’est de donner un titre aux documents joints... mais on n’a pas forcément la main là-dessus.

Début de page | SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0