identifiant_slug

  • Apparu en : SPIP 4.0

Cette fonction permet de transformer un texte clair en nom court pouvant servir d’identifiant, de classe CSS, d’id HTML ou d’url.

Pour cela, elle enlève les accents, ne conserve que les caractères alphanumériques, supprime les autres caractères et les remplace par un séparateur ’_’ par défaut, sauf au début et à la fin.

Exemple :

[(#VAL{Hé ! L'été approche !}|identifiant_slug)]` renvoie  `he_l_ete_approche

Le filtre accepte 2 arguments optionnels :

-  un type : si ce type est ’id’, ’class’ ou ’anchor’, la chaîne est préfixée dans le cas où elle commence par un numérique, afin de générer une chaîne valide pour l’utiliser dans cet attributs HTML.

-  un tableau d’options qui accepte 3 clés possibles :

  • separateur : le caractère séparateur
  • longueur_maxi : la longueur maximum de la chaîne renvoyée.
  • longueur_mini : la longueur minimum de la chaîne renvoyée. Si celle-ci est trop courte, la chaîne est complétée jusqu’à la longueur minimum par des caractères du md5 de la chaîne reçue. L’objectif est que la chaîne renvoyée soit unique.

Exemple :

<div [id="(#TITRE|identifiant_slug{id,#ARRAY{longueur_maxi,10}})"]>
  #TEXTE
</div>

Auteur JLuc Publié le : Mis à jour : 02/07/23