コード例 #1
0
ファイル: DynHtml.php プロジェクト: cseufert/hamle
 static function toStTag(&$d, H\Form $form)
 {
     foreach ($d["source"] as $source) {
         $form->getField($source)->getDynamicAtt($d['base'], $d['opt'], $d['type'], $d['content']);
     }
     $out = "<" . $d['type'] . " ";
     foreach ($d['opt'] as $k => $v) {
         if (is_array($v)) {
             foreach ($v as $k2 => $v2) {
                 if ($v[$k2] instanceof Text) {
                     $v[$k2] = eval('return ' . $v[$k2]->toPHP() . ';');
                 }
             }
             $v = implode(" ", $v);
         }
         if ($v instanceof H\Text) {
             $v = eval('return ' . $v->toPHP() . ';');
         }
         $out .= $k . "=\"" . htmlspecialchars($v) . "\" ";
     }
     $out .= in_array($d['type'], self::$selfCloseTags) ? "/>" : ">";
     return $out;
 }