/* Filtre CIBLES_LIENS - 21 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)]
[(#URL_SITE|cibles_liens)]
...
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) {
/* TRAITEMENT SUR LA BALISE #URL_SITE */
/* OPTION: Insertion du TAG #_blank# 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://' ) {
/* Mettre // devant la ligne ci-dessous si option inutile */
$texte = '#_blank#'.$texte;
}
/* Détection du TAG et réécriture du code HREF */
if ( substr($texte, 0, 8) == '#_blank#' or
substr($texte, 0, 7) == '#_self#' or
substr($texte, 0, 9) == '#_parent#' or
substr($texte, 0, 6) == '#_top#' ) {
$texte = eregi_replace('#(.*)#([^>]*)', '\\2" target="\\1', $texte);
}
/* TRAITEMENT SUR LES AUTRES BALISES COMPATIBLES */
else {
/* DETECTION DU TAG ET REECRITURE DU CODE HREF */
$texte = eregi_replace('#_blank#', $texte);
$texte = eregi_replace('#_self#', $texte);
$texte = eregi_replace('#_parent#', $texte);
$texte = eregi_replace('#_top#', $texte);
}
return $texte;
}