Return to Snippet

Revision: 25956
at April 14, 2010 21:25 by jmilly


Initial Code
preg_match_all("/\{\{IF ((?:[^\\?]|\\.)*)\?((?:[^\\:]|\\.)*):(.*)\}\}[^<\/]/", $template, $m, PREG_SET_ORDER);
if (count($m)) {
	foreach ($m as $o) {
		if (preg_match("/(.*)\s+(==|!=)\s+(.*)/", $o[1], $x)) {
			if (preg_match("/^\"(.*)\"/", $x[1], $cx)) $e1 = $cx[1];
			else $e1 = is_numeric($x[1])?$x[1]:$data[$x[1]];
			if (preg_match("/^\"(.*)\"/", $x[3], $cx)) $e2 = $cx[1];
			else $e2 = is_numeric($x[3])?$x[3]:$data[$x[3]];
			if (preg_match("/^\"(.*)\"/", $o[2], $ox)) $er[0] = $ox[1];
			else $er[0] =  addslashes(htmlspecialchars($data[$o[2]]));
			if (preg_match("/^\"(.*)\"/", $o[3], $ox)) $er[1] = $ox[1];
			else $er[1] = addslashes(htmlspecialchars($data[$o[3]]));
			$eval = "\$od = (\"$e1\" $x[2] \"$e2\")?\"$er[0]\":\"$er[1]\";";
			eval($eval);
		} else {
			$od = $data[$o[1]]?$o[2]:$o[3];
			if (preg_match("/^\"(.*)\"/", $od, $x)) $od = $x[1];
			else $od = $data[$od];
		}
		$template = str_replace($o[0], $od, $template);
	}
}

Initial URL


Initial Description


Initial Title
A Ninja Funerals

Initial Tags


Initial Language
PHP