Indiquez l’intérêt que vous portez à cette question
0

Interdire l’affichage des images dans #TEXTE

Bonjour,

Je voudrais pouvoir afficher le contenu de #TEXTE sans les images. Le problème a déjà été évoqué ici, la solution indiquée alors n’a pas fonctionné pour moi.

J’ai aussi essayé l’astuce courte sans plus de succès.

J’utilise des plugins qui ajoutent la synaxe hmtl5 <figure ...>, alors j’ai testé successivement avec les fonctions suivantes :

function sans_doc2 ($texte) {
return propre(preg_replace('#'._RACCOURCI_MODELE.'#', ' ', $texte));
}

#TEXTE SANS IMAGES
function sans_doc3 ($texte) {
   $no_mod = '(<'                                                 # <
           . '(?:application|audio|doc|emb|image|img|text|video|figure)' # nom
           . 's*[0-9]*s*'                                       # id
           . '(?:[|](<[^<>]*>|[^>])*)'                            # |arg
           . 's*>)';                                             # >
   return propre(preg_replace('#'.$no_mod.'#', ' ', $texte));
 }

#TEXTE SANS FIGURES
 function sans_doc4 ($texte) {
   return propre(preg_replace('/(<figure.*?[^>]*>).*?(</figure>)/i', 'remplace', $texte));
 }

#TEST
 function sans_doc ($texte) {
   return propre($texte . ' lorem ipsum');
 }

La dernière était pour vérifier que mon texte passe bien par le filtre et seule celle-ci fait bien quelque chose...

J’ai essayé les syntaxes avec et sans *
[(#TEXTE*|sans_doc)] et [(#TEXTE|sans_doc)]

Je suis sous spip 3.2 avec les plugins image_responsive et Insersion_avancee_d’image. Le filtre est appliqué dans un modèle.

Je rate surement un truc simple (mes connaissances SPIP datent de la v2) mais je sèche, toute aide serait la bienvenue.