lien.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Constants
- _EXTRAIRE_DOMAINE = '/^(?:(?:[^\W_]((?:[^\W_]|-){0,61}[^\W_,])?\.)+[a-z0-9]{2,6}|localhost)\b/Si'
- _EXTRAIRE_LIEN = ',^\s*(?:' . \_PROTOCOLES_STD . '):?/?/?\s*$,iS'
- _RACCOURCI_ANCRE = '/\[#?([^][]*)<-\]/S'
- _RACCOURCI_ATTRIBUTS = '/^((?:[^[]*?(?:\[[^]]*\])?)*?)([|]([^<>]*?))?([{]([a-z_]*)[}])?$/'
- _RACCOURCI_CHAPO = '/^(\W*)(\W*)(\w*\d+([?#].*)?)$/'
- _RACCOURCI_GLOSES = '/^([^|#{]*\w[^|#{]*)([^#]*)(#([^|{}]*))?(.*)$/S'
- _RACCOURCI_GLOSSAIRE = '/\[\?+\s*([^][<>]+)\]/S'
- _RACCOURCI_URL = '/^\s*(\w*?)\s*(\d+)(\?(.*?))?(#([^\s]*))?\s*$/S'
Functions
- inc_lien_dist() : string
- Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.
- lien_is_url_externe() : bool
- Detecter qu'une URL est externe pour poser une class en fonction
- balise_a() : string
- Générer le HTML d'un lien quelconque
- expanser_liens() : mixed
- nettoyer_raccourcis_typo() : string
- Nettoie un texte en enlevant les raccourcis typo, sans les traiter
- traiter_raccourci_lien_atts() : mixed
- virtuel_redirige() : string
- Retourne la valeur d'un champ de redirection (articles virtuels)
- calculer_url() : mixed
- traiter_lien_explicite() : mixed
- liens_implicite_glose_dist() : mixed
- traiter_lien_implicite() : array<string|int, mixed>|bool|string
- Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.
- typer_raccourci() : array<string|int, mixed>
- traiter_raccourci_titre() : array<string|int, mixed>
- Retourne le titre et la langue d'un objet éditorial
- traiter_raccourci_ancre() : string
- traiter_raccourci_glossaire() : string
- glossaire_std() : mixed
Constants
_EXTRAIRE_DOMAINE
public
mixed
_EXTRAIRE_DOMAINE
= '/^(?:(?:[^\W_]((?:[^\W_]|-){0,61}[^\W_,])?\.)+[a-z0-9]{2,6}|localhost)\b/Si'
_EXTRAIRE_LIEN
public
mixed
_EXTRAIRE_LIEN
= ',^\s*(?:' . \_PROTOCOLES_STD . '):?/?/?\s*$,iS'
_RACCOURCI_ANCRE
public
mixed
_RACCOURCI_ANCRE
= '/\[#?([^][]*)<-\]/S'
_RACCOURCI_ATTRIBUTS
public
mixed
_RACCOURCI_ATTRIBUTS
= '/^((?:[^[]*?(?:\[[^]]*\])?)*?)([|]([^<>]*?))?([{]([a-z_]*)[}])?$/'
_RACCOURCI_CHAPO
public
mixed
_RACCOURCI_CHAPO
= '/^(\W*)(\W*)(\w*\d+([?#].*)?)$/'
_RACCOURCI_GLOSES
public
mixed
_RACCOURCI_GLOSES
= '/^([^|#{]*\w[^|#{]*)([^#]*)(#([^|{}]*))?(.*)$/S'
_RACCOURCI_GLOSSAIRE
public
mixed
_RACCOURCI_GLOSSAIRE
= '/\[\?+\s*([^][<>]+)\]/S'
_RACCOURCI_URL
public
mixed
_RACCOURCI_URL
= '/^\s*(\w*?)\s*(\d+)(\?(.*?))?(#([^\s]*))?\s*$/S'
Functions
inc_lien_dist()
Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.
inc_lien_dist(string $lien[, string $texte = '' ][, string $class = '' ][, string $title = '' ][, string $hlang = '' ][, string $rel = '' ][, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string
Parameters
- $lien : string
- $texte : string = ''
- $class : string = ''
- $title : string = ''
- $hlang : string = ''
- $rel : string = ''
- $connect : string = ''
- $env : array<string|int, mixed> = []
Tags
Return values
stringlien_is_url_externe()
Detecter qu'une URL est externe pour poser une class en fonction
lien_is_url_externe(string|null $url_lien) : bool
Parameters
- $url_lien : string|null
Return values
boolbalise_a()
Générer le HTML d'un lien quelconque
balise_a([array<string|int, mixed> $args = [] ]) : string
Cette fonction génère une balise <a>
suivant de multiples arguments.
Parameters
- $args : array<string|int, mixed> = []
-
Tableau des arguments disponibles pour générer le lien :
- texte : texte du lien, seul argument qui n'est pas un attribut
- href
- name
- etc, tout autre attribut supplémentaire…
Return values
string —Retourne une balise HTML de lien ou une chaîne vide.
expanser_liens()
expanser_liens(mixed $t[, mixed $connect = '' ][, mixed $env = [] ]) : mixed
Parameters
- $t : mixed
- $connect : mixed = ''
- $env : mixed = []
nettoyer_raccourcis_typo()
Nettoie un texte en enlevant les raccourcis typo, sans les traiter
nettoyer_raccourcis_typo(string $texte[, string $connect = '' ]) : string
On ne laisse que les titres des liens, en les explicitant si ce n’est pas fait.
Parameters
- $texte : string
- $connect : string = ''
Return values
stringtraiter_raccourci_lien_atts()
traiter_raccourci_lien_atts(mixed $texte) : mixed
Parameters
- $texte : mixed
virtuel_redirige()
Retourne la valeur d'un champ de redirection (articles virtuels)
virtuel_redirige(string $virtuel[, bool $url = false ]) : string
L'entrée accepte plusiers types d'écritures :
- une URL compète,
- un lien SPIP tel que
[Lien->article23]
, - ou un raccourcis SPIP comme
rub2
ourubrique2
Parameters
- $virtuel : string
-
Texte qui définit la redirection, à analyser. Plusieurs types peuvent être acceptés :
- un raccourci Spip habituel, tel que
[texte->TYPEnnn]
- un ultra raccourci Spip, tel que
TYPEnnn
- une URL standard
- un raccourci Spip habituel, tel que
- $url : bool = false
-
false : retourne uniquement le nom du lien (TYPEnnn) true : retourne l'URL calculée pour le lien
Return values
string —Nom du lien ou URL
calculer_url()
calculer_url(string|null $ref[, string|null $texte = '' ][, string $pour = 'url' ][, string $connect = '' ][, bool $echappe_typo = true ]) : mixed
Parameters
- $ref : string|null
- $texte : string|null = ''
- $pour : string = 'url'
- $connect : string = ''
- $echappe_typo : bool = true
traiter_lien_explicite()
traiter_lien_explicite(string|null $ref[, string|null $texte = '' ][, string $pour = 'url' ][, string $connect = '' ][, bool $echappe_typo = true ]) : mixed
Parameters
- $ref : string|null
- $texte : string|null = ''
- $pour : string = 'url'
- $connect : string = ''
- $echappe_typo : bool = true
liens_implicite_glose_dist()
liens_implicite_glose_dist(mixed $texte, mixed $id, mixed $type, mixed $args, mixed $ancre[, mixed $connect = '' ]) : mixed
Parameters
- $texte : mixed
- $id : mixed
- $type : mixed
- $args : mixed
- $ancre : mixed
- $connect : mixed = ''
traiter_lien_implicite()
Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.
traiter_lien_implicite(string|null $ref[, string|null $texte = '' ][, string $pour = 'url' ][, string $connect = '' ]) : array<string|int, mixed>|bool|string
La globale lien_implicite_cible_public permet de forcer un cas ou l'autre : $GLOBALS['lien_implicite_cible_public'] = true; => tous les liens raccourcis pointent vers le public $GLOBALS['lien_implicite_cible_public'] = false; => tous les liens raccourcis pointent vers le prive unset($GLOBALS['lien_implicite_cible_public']); => retablit le comportement automatique
Parameters
- $ref : string|null
- $texte : string|null = ''
- $pour : string = 'url'
- $connect : string = ''
Return values
array<string|int, mixed>|bool|stringtyper_raccourci()
typer_raccourci(string|null $lien) : array<string|int, mixed>
Parameters
- $lien : string|null
Return values
array<string|int, mixed>traiter_raccourci_titre()
Retourne le titre et la langue d'un objet éditorial
traiter_raccourci_titre(int $id, string $type[, string $connect = '' ]) : array<string|int, mixed>
Parameters
- $id : int
-
Identifiant de l'objet
- $type : string
-
Type d'objet
- $connect : string = ''
-
Connecteur SQL utilisé
Return values
array<string|int, mixed> —{
traiter_raccourci_ancre()
traiter_raccourci_ancre(string|null $texte) : string
Parameters
- $texte : string|null
Return values
stringtraiter_raccourci_glossaire()
traiter_raccourci_glossaire(string|null $texte) : string
Parameters
- $texte : string|null
Return values
stringglossaire_std()
glossaire_std(mixed $terme) : mixed
Parameters
- $terme : mixed