buildHtml($jsonData); } private function buildHtml($data) { $html = "\n\n"; if (isset($data['head'])) { $html .= $this->parseHead($data['head']); } if (isset($data['body'])) { $html .= "\n" . $this->parseContent($data['body']['content']) . "\n\n"; } $html .= ""; return $html; } private function parseHead($headData) { $html = "\n"; if (isset($headData['title'])) { $html .= "{$headData['title']}\n"; } $html .= "\n"; // Include a CSS file $html .= "\n"; return $html; } private function parseContent($contentArray) { $html = ""; foreach ($contentArray as $element) { $html .= $this->createElement($element); } return $html; } private function createElement($element) { if (!isset($element['element'])) return ""; $tag = $element['element']; $attributes = isset($element['attributes']) ? $this->parseAttributes($element['attributes']) : ""; $value = isset($element['value']) ? $element['value'] : ""; $innerHtml = isset($element['content']) ? $this->parseContent($element['content']) : ""; return "<$tag $attributes>$value$innerHtml\n"; } private function parseAttributes($attributes) { $htmlAttributes = ""; foreach ($attributes as $key => $value) { $htmlAttributes .= "$key=\"$value\" "; } return trim($htmlAttributes); } } // Generate the HTML from JSON $parser = new JsonToHtmlParser(); $htmlOutput = $parser->parseJsonFile("data.json"); // Save the output to an HTML file file_put_contents("output.html", $htmlOutput); echo "HTML file generated successfully! Open 'output.html' to view the website."; ?>