$contents = file_get_contents($fn);
- $ar = preg_split('/(\{[^\}]+})/', $contents, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $ar = preg_split('/(\{[^\\n}]+})/', $contents, -1, PREG_SPLIT_DELIM_CAPTURE);
$out= array();
- $head = "$name = function(t)\n{\n var ret = [];\n";
+ $head = "$name = function(t)\n{\n var ret = [];\n\n";
$funcs = array();
// do not allow nested functions..?
case ($inscript && ($item == '{end:}')):
$inscript = false;
continue;
-
+
+
case ($item[0] != '{'):
if (!strlen(trim($item))) {
continue;
$inscript = true;
continue;
+ case ($item[1] == '!'):
+ $ret[] = $in . substr($item,1,-1) .';';
+ continue;
case (substr($item,1,3) == 'if('):
}
$in = str_repeat(" ", $indent);
$ret[] = $in . "return ret.join('');\n}\n";
- return $head . implode("\n",$funcs) . "\n" .implode("\n",$out) ;
+ return $head . implode("\n",$funcs) . "\n\n" .implode("\n",$out) ;
//echo '<PRE>' . htmlspecialchars(implode("\n",$ret));