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