Un exemple du problème posé
Votre site, n’affichant pas dans une même page le descriptif et le contenu d’un article, vous avez pris l’habitude de remplir les champs de vos articles en copiant dans le descriptif le chapô du texte, lorsque cela est pertinent.
Par ailleurs, ce descriptif est utilisé dans les termes conditionnels des images alt, ou les infos bulles des liens title, ou encore dans les meta pour le référencement.
Apparaît alors devant vos yeux incrédules, malgré le taux d’alcoolémie égal à zéro, ces notes, deux fois en bas de page, dans la rubrique NOTES, celle qui est générée par la balise #NOTES.
Pourquoi cette vision gémellaire ?
#NOTES est calculé à partir des champs #INTRODUCTION, #DESCRIPTIF, #CHAPO et #TEXTE.
Calculé à chaque fois qu’apparaît l’une de ces balises, et vidé à chaque affichage de #NOTES.
D’où l’apparition, une première fois de #NOTES lié au #DESCRIPTIF, puis remise à zéro du contenu de #NOTES, avant réapparition, qu’on aurait pu croire un temps miraculeuse, liée au #TEXTE.
Problème
Si l’on demande d’afficher les notes, elles s’affichent. Or, je veux que les bonnes notes s’affichent, mais pas les mauvaises notes (qui ne veut pas cela ?).
Autrement dit, si je veux que les notes liées au champ qui s’affiche réellement -#TEXTE- s’affichent elles-aussi réellement, en revanche, je ne veux absolument pas que celles qui sont liées aux champs de type « information annexe » s’affichent, elles.
Une solution
Comme la balise #NOTES se vide après affichage ; pour la vider, nous allons donc l’afficher.
Nous aurons donc, par exemple :
<a href="#URL_ARTICLE" title="#DESCRIPTIF">#TITRE</a>
#NOTESOui, mais, justement, allez-vous protester, c’est cela qu’on ne veut pas : l’afficher !
Nous allons donc l’afficher sans l’afficher : en l’affichant en « commentaire ».
<!-- #NOTES --> Et pour éviter de perdre de la place et de la netteté dans le code html résultant, nous allons réduire la chaîne de caractère que sont les notes en une toute petite chaîne anodine, grâce à un filtre php.
On peut choisir, par exemple le filtre count ou sizeof, qui retournera 0 (zéro) s’il n’y a pas de note et 1 (un) sinon.
Ou bien le filtre strlen qui retourne la longueur de la chaîne.
Et puisqu’on ne veut pas afficher ce qui serait totalement inutile, les commentaires vides, les balises de commentaires seront posées entre les crochets.
Résultat : [<!--(#NOTES|sizeof)-->]
affichera, soit rien s’il n’y a pas de note, soit, s’il y en a, un commentaire "1" ou "0" [1], permettant de ne pas afficher les mauvaises notes et de laisser le champ libre pour afficher les bonnes notes.

