/* Filtre CIBLES_LIENS v2.0 - 23 juillet 2003 - Par Led Permet d'attribuer automatiquement ou manuellement une cible à un lien (fonction TARGET en HTML). Le filtre s'utilise avec les balises #URL_SITE, #CHAPO, #TEXTE, #PS, #NOTES, #INTRODUCTION, #DESCRIPTIF et #BIO. SYNTAXE DANS LES SQUELETTES: ... ... [(#TEXTE|cibles_liens)] [(#TEXTE|norm_liens{tag}] Où tag doit avoir comme valeur blank, self, parent ou top. Ce tag par défaut sert uniquement à spécifier le target qui sera appliqué automatiquement aux liens sans tag et pointant à l'extérieur. Si aucun tag n'est spécifié la balise HREF de ces liens n'aura pas de target. SYNTAXE A L'EDITION: Pour le champ "URL" dans l'édition d'une brève ou le champ "Adresse du site" pour le référencement d'un site: - #tag#URL Pour le champ "Texte" dans l'édition d'une brève, les champs "Chapeau ", "Texte" et "Post-Scriptum" dans l'édition d'un article ou tous les champs "Description": - #tag#[texte->URL] - #tag#[texte->n°d'article] - #tag#[texte->rubxxx] - #tag#[texte->brxxx] Où #tag# doit avoir comme valeur #blank#, #self#, #parent# ou #top#. */ function cibles_liens($texte, $target='') { /* COMPABILITE AVEC LA VERSION 1.0 */ $texte = eregi_replace('#_blank#', '#blank#', $texte); $texte = eregi_replace('#_self#', '#self#', $texte); $texte = eregi_replace('#_parent#', '#parent#', $texte); $texte = eregi_replace('#_top#', '#top#', $texte); /* TRAITEMENT SUR LA BALISE #URL_SITE */ /* Insertion du TAG par défaut si TAG non présent et si lien pointe vers l'extérieur */ if ( substr($texte, 0, 7) == 'http://' or substr($texte, 0, 6) == 'ftp://' ) { if ( $target != '' ) $texte = '#'.$target.'#'.$texte; } /* Détection du TAG et réécriture du code HREF */ if ( substr($texte, 0, 7) == '#blank#' or substr($texte, 0, 6) == '#self#' or substr($texte, 0, 8) == '#parent#' or substr($texte, 0, 5) == '#top#' ) { $texte = eregi_replace('#(.*)#([^>]*)', '\\2" target="_\\1', $texte); } else { /* TRAITEMENT SUR LES AUTRES BALISES COMPATIBLES */ /* Insertion du TAG par défaut si TAG non présent et si lien pointe vers l'extérieur */ if ( $target != '' ) { $texte = eregi_replace('([^#])', $texte); $texte = eregi_replace('#self#', $texte); $texte = eregi_replace('#parent#', $texte); $texte = eregi_replace('#top#', $texte); } return $texte; }