Templight
Display variables
Use of the var tag
Var is the most common tag of the templating language that is used by all core functions. This tag could exists by itself or could be nested in loop or recursion. The var tag is an orphan tag and must contain nothing.
Example
The boring hello world example would be like this :
<var name="myText"/>
$tpl->replace('myText','Hello World');
Use of the regexvar tag
Regexvar tag take a input variable and apply a regular expression on this value. Each time the regular expression match somewhere in the value the match is remplaced by the content of the regexvar tag.
Each time a match is found, a local regex tag is available to display part of the regular expression. The conditions also can test matches by using the node object.
Examples
This first example illustrate the use of the regexvar function to extract three values from a date string in YYYYmmdd format. Values are displayed in a human readable way using conditions to get the name of the month in plain text.
We are living the
<regexvar name="myDate" regex="([0-9]{4})([0-9]{2})([0-9]{2})">
<regex index="3"/>th of
<if test="node.field(2)==1">January</if>
<if test="node.field(2)==2">February</if>
<if test="node.field(2)==3">March</if>
<if test="node.field(2)==4">April</if>
<if test="node.field(2)==5">May</if>
<if test="node.field(2)==6">June</if>
<if test="node.field(2)==7">July</if>
<if test="node.field(2)==8">August</if>
<if test="node.field(2)==9">September</if>
<if test="node.field(2)==10">October</if>
<if test="node.field(2)==11">November</if>
<if test="node.field(2)==12">December</if>
<regex index="1"/>
</regexvar>
As you see, it's pretty easy to extract data with regular expression and display it in a complex way.
This second example is a little bit more tricky. It show how to replace new lines by the famous HTML br tag :
<regexvar name="myText" regex="([^\n]*)\n([^\n]*)">
<regex index="1"/>
<br />
<regex index="2"/>
</regexvar>