/* 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;
}