Hello, je crois qu’en Spip 2 c’est déjà possible de récupérer le contenu de ton article (la balise #TEXTE) avant que Spip n’ait remplacé ton code brut [lien->1692]
par <a href="mon_chemin_vers_l_article_1692>
.
Il faut remplacer #TEXTE par #TEXTE* pour récupérer les données brutes qui sont saisies dans l’admin (source: #BALISE* et #BALISE** - SPIP.
Ensuite, je ne pense pas que tu as besoin d’utiliser #SET et #GET, tu peux utiliser directement ton filtre replace: dans le cas où tu n’as que un seul lien dans chaque article, ça pourrait ressembler à ça :
[(#TEXTE*|replace{ '^.*?\[.*?->\(\d+\)'\].*$', $1})]
La suite de hiéroglyphes n’est pas du DOS mais une expression rationnelle (ou expression régulière), c’est un peu barbare mais bien puissant pour récupérer des bouts de chaîne dans du texte.
Celle qui est ci-dessus se traduirait par:
- sélectionner tout à partir du premier caractère (représenté par ^) jusqu’au premier crochet ouvrant [
- sélectionner tout le contenu du crochet ouvrant jusqu’à la fin de la flèche
->
- sélectionner une suite de chiffres et la stocker dans un groupe ( \d représente les chiffres de 0 à 9, les parenthèses représentent le stockage dans un groupe)
- sélectionner tout depuis le crochet fermant jusqu’à la fin du texte (représenté par un dollar).
Le second paramètre $1 indique à Spip de remplacer tout ce qui a été sélectionné par la valeur du groupe ci-dessus (dans notre cas, uniquement les chiffres, donc).
Théoriquement le code ci-dessus remplace donc tout le contenu de #TEXTE* par juste le nombre 1692. A noter que je n’ai pas testé en vrai .
Avec l’avantage que ce faisant ton squelette sera indépendant du mode d’affichage des liens choisi par le webmestre.