Example #1
0
 private function evaluate($source, $model)
 {
     $expressions = array();
     $evaluations = array();
     $xp = array();
     // Evaluated expressions results and expression input
     if (!preg_match_all("/([#]\\{.+?\\})+/i", $source, $expressions)) {
         return $source;
     }
     for ($expression = 0; isset($expressions[0][$expression]); $expression++) {
         // Replace expressions with evaluations
         $PCE = new PostCompiledExpression(PostCompiledExpression::EnforceWhitespace($expressions[0][$expression]), $model);
         $evaluations[$expression] = $PCE->execute();
         $xp[$expression] = $expressions[0][$expression];
     }
     return str_replace($xp, $evaluations, $source);
 }
Example #2
0
 public function TestPCE($input)
 {
     $pce = PostCompiledExpression::EnforceWhitespace($input->expression);
     $answer = new PostCompiledExpression($pce, NULL);
     return array('answer' => $answer->execute());
 }