| [reply] |
| [reply] |
ThanX folks,
but I have found a rather time-eating but simple solution:
I match the string inside out;
I changed the syntax of each string to:
.. text {expression&125; text ..
where expression can be an simple statement (in pseudo code!) like {variable?true_text|false_text} or a loop and so on. The tricky thing is, that these text's can contain expressions itself.
Matching the sting for simple 'expressions' and substitude them and then mathching the extended ones by adding them inbetween the simple ones is, imho the simplest algo.
Maybe I have to remove formerly added text due to a 'if' statement, but that's OK.
$this->{_template}=~s/{(\w+)}/ref($this->{$1})?$this->{$1}->show():$th
+is->{$1}/eg;
$this->{_template}=~s/{(\w+)\?([^{}]*)\|([^{}]*)}/$this->{$1}?$2:$3/eg
+;
| [reply] [d/l] |