Note :

Astuces

Cette page a pour objectif de regrouper les astuces de programmation en Templeet

Comment éviter les sauts de lignes, et les espaces vides dans le rendu HTML

La problématique :

Si nous avons par exemple ce script :

<p>début paragraphe
~set("v", 4)
~if(~getpost("foo")==1,
	~plus(~get("v"), 2),
	~minus(~get("v"), 2)
)
fin paragraphe</p>

Voici le code source du rendu HTML de ce script :

<p>début paragraphe
2fin paragraphe</p>

Vous pouvez constater que ce script est sur deux lignes.

Quelle est la solution pour rendre le code HTML plus "propre". Dans notre cas, j'aimerais que le paragraphe soit codé sur une seul ligne.

Une solution :

Il est possible d'utiliser la fonction ~string :

~string(
	'<p>début paragraphe',
	~set("v", 4),
	~if(~getpost("foo")==1,
		~plus(~get("v"), 2),
		~minus(~get("v"), 2)
	),
	'fin paragraphe</p>'
)

Voici le code source du rendu HTML de ce script :

	
<p>début paragraphe2fin du paragraphe</p>

Petite explication

La fonction string peut prendre un nombre "illimité" d'arguments.

La fonction renvoie une concaténation de tous ses arguments.

L'indentation, le saut de ligne... des arguments n'influencent pas leur contenu, donc n'influenceront pas la valeur renvoyée par la fonction.