Ajouter la gestion des ancres dans un article

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Voici une petite fonction qui permet de rajouter un raccourci typographique pour les ancres dans vos articles.

Concrètement, cela permet à un auteur de créer une ancre dans un article avec un raccourci typographique : (2 possibilités au choix, les 2 fonctionnent pareil)

[nomdelancre<-]
[#nomdelancre<-]

pour pouvoir ensuite créer un lien vers cette ancre dans la page (et permettre au lecteur d’aller directement à cet endroit de la page, comme pour les notes) avec un lien spip vers #nomdelancre :

[aller directement voir l'ancre->#nomdelancre]

Pour utiliser le filtre dans vos squelettes et ansi traduire les ancres [ancre<-] ou [#ancre<-] en ancres HTML, insérez comme à l’habitude le filtre derrière la balise SPIP, par exemple :

[(#TEXTE|gerer_ancres)]

Voici le code à rajouter dans mes_fonctions.php3 pour pouvoir utiliser le filtre gerer_ancres. Il est très court et y’a plus d’explications et commentaires que de code php !! (une ligne suffit pour ce code !)

/*
 *   +-------------------------------------+
 *    Nom du Filtre : Conversion des ancres
 *   +-------------------------------------+
 *    Date : vendredi 18 juin 2004
 *    Auteur :  AliGator (aligator@macfr.com)
 *   +-------------------------------------+
 *    Fonctions de ce filtre :
 *      Ce script permet de gérer les ancres insérées dans un
 *      article sous la forme [nomancre<-] ou [#nomancre<-]
 *      pour les remplacer par une ancre HTML (<a name="#nomancre"></a>)
 *      Ceci vous permet d'autoriser les auteurs des articles sur votre site
 *                à utiliser ce nouveau "raccourci typographique"
 *   +-------------------------------------+ 
*/

function gerer_ancres($texte)
{
        $res = preg_replace("|\[\#?([A-Za-z0-9_]*)<-\]|U" ,
                "<a name=\"\$1\"></a>" , $texte);
        return $res;
}

PS : A propos d’ancres, je rappelle au passage l’existance de la contribution de Noplay pour créer un sommaire avec des liens vers les divers intertitres de vos articles, et créer les ancres associées autour desdits intertitres.

La version 1.8 de SPIP intègrera cette fonction de série. Ce filtre n’est donc pas nécéssaire si vous utilisez la distribution CVS de SPIP.

Dernière modification de cette page le 5 juillet 2010

Discussion

Une discussion

  • Bonjour,

    J’ai introduit une ancre dans un article : [precis<-]

    et j’en ai fait le lien dans un autre : [J'ai...->article1#precis] mais en cliquant dessus, je n’arrive qu’à l’article et non au point précis qui commence par « J’ai... »

    Alors, pourquoi ça ne fonctionne pas ? Avez-vous une idée ?

    Leila

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

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

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom