public static function output_html($html, $vals, $outputs, $inserts = null) { if (trim($html) == "") { return ""; } if ($inserts != null) { foreach ($inserts as $insert) { $ref = Template::get_insert_reference($insert, $vals); if ($ref != $insert) { $html = str_replace("{{" . $insert . "}}", "{{" . $ref . "}}", $html); } } } $html = str_get_html($html); foreach ($outputs as $out) { $elems = $html->find("[name='" . $out["name"] . "']"); $reference = null; foreach ($elems as $elem) { if ($reference == null) { $reference = Template::get_return_reference($out["name"], $vals); } $elem->setAttribute("name", $reference); } } return $html->save(); }