をあなたはDOMDocument
を使用することができます(ところで、PHP 5が必要です):
<?php
$html = new DOMDocument('1.0','iso-8859-1');
$html->formatOutput = true;
$form = $html->createElement('form');
$fieldset = $html->createElement('fieldset');
$name = $html->createElement('input');
$name->setAttribute('type', 'text');
$name->setAttribute('name', 'name');
$email = $html->createElement('input');
$email->setAttribute('type', 'text');
$email->setAttribute('name', 'email');
$fieldset->appendChild($name);
$fieldset->appendChild($email);
$form->appendChild($fieldset);
$html->appendChild($form);
echo html_entity_decode($html->saveHTML());
出力
http://codepad.org/sK0j6zD3
:
<form><fieldset>
<input type="text" name="email"><input type="text">
</fieldset></form>
を
さらに詳しい文書:
出力
<?php
class br extends DOMElement {
function __construct() {
parent::__construct('br');
}
}
$page = new DOMDocument();
$page->normalizeDocument();
$page->formatOutput = true;
$html = $page->createElement('html');
$head = $page->createElement('head');
$title = $page->createElement('title');
$body = $page->createElement('body');
$form = $page->createElement('form');
$fieldset = $page->createElement('fieldset');
$name = $page->createElement('input');
$email = $page->createElement('input');
$submit = $page->createElement('input');
$title_text = $page->createTextNode('Page Title Here');
$title->appendChild($title_text);
$head->appendChild($title);
$html->appendChild($head);
$name->setAttribute('type', 'text');
$name->setAttribute('name', 'name');
$email->setAttribute('type', 'text');
$email->setAttribute('name', 'email');
$submit->setAttribute('type','submit');
$submit->setAttribute('value','Submit');
$fieldset->appendChild($page->createTextNode('Name: '));
$fieldset->appendChild($name);
$fieldset->appendChild(new br);
$fieldset->appendChild($page->createTextNode('Email: '));
$fieldset->appendChild($email);
$fieldset->appendChild(new br);
$fieldset->appendChild($submit);
$form->appendChild($fieldset);
$body->appendChild($form);
$html->appendChild($body);
$page->appendChild($html);
echo "<!DOCTYPE html>\n" . html_entity_decode($page->saveHTML());
:
<!DOCTYPE html>
<html>
<head><title>Page Title Here</title></head>
<body><form><fieldset>Name: <input type="text" name="name"><br>Email: <input type="text" name="email"><br><input type="submit" value="Submit">
</fieldset></form></body>
</html>
を、私はあなたができると思います[のDOMDocument](http://us.php.net/manual/en/class.domdocument.php)とし、 [DOMElement](http://www.php.net/manual/en/class.domelement.php)。 (注:私は最初のリファレンスを更新しました) –
[DOMDocumentのチュートリアル](http://www.i-programmer.info/programming/php/864-object-oriented-html-generation.html?start=1) –
実際に物を作るには、フォームビルダーに、HTMLやさまざまな入力インターフェースから読み込むことができる複数の入力ライブラリを含むあらゆる種類の出力用のレンダリングを持たせるべきです。 HTTPリクエストHTMLがどのように生成されるかはかなり面白くないし、レンダラーのためにかなり単純な仕事でなければならず、多くの "OO"は必要ない。 – hakre