PHP uses the DOMDocument class to generate HTML instances (including common tag elements)_PHP tutorial WBOY Original
2016-07-13 10:26:05 975browse
In this chapter, let’s learn how to use core PHP to generate HTML files
Recently, when I was querying php.net, I found that the DOMDocument class is very interesting. It can be used to generate XML or HTML files. DOMDocument provides us with a series of methods to generate XML/HTML tags and insert them into the DOM. Now Let’s see how it is generated
Let’s first take a look at the effect generated by the method it provides, as shown in the picture below:
1. Create a new DOM file
Copy code The code is as follows:
//Instantiate the DOMDocument class and specify the version number
$dom = new DOMDocument('1.0');
//Output the generated tags or codes to the page
echo $dom->saveHTML();
2. Add new HTML elements to the DOM file
Copy code The code is as follows:
$css_text = 'p{color:#ff00ff;}';
//Create new style tag and CSS content
$style = $dom->createElement('style', $css_text);
//Add the style tag to the DOM file
$dom->appendChild($style);
//The following is the output effect
What needs to be mentioned here is the createElement method. When you want to create a
Copy code The code is as follows:
$p_text = 'This is a paragraph.';
//Create new p tag and content
$p = $dom->createElement('p', $p_text);
//Create new attribute 'id'
$domAttribute = $dom->createAttribute('id');
//Add value to attribute 'id'
$domAttribute->value = 'description';
//Add this attribute to the p tag
$p->appendChild($domAttribute);
//Add the p tag to the DOM file
$dom->appendChild($p);
//The following is the output effect
One day
4. Add Form element
Add textbox
Copy code The code is as follows:
$input = $dom->createElement('input');
$domAttribute = $dom->createAttribute('type');
$domAttribute->value = 'text';
$input->appendChild($domAttribute);
$domAttribute = $dom->createAttribute('name');
$domAttribute->value = 'e-mail';
$input->appendChild($domAttribute);
$dom->appendChild($input);
//The following is the output effect
5. Create Table
Copy code The code is as follows:
$table = $dom->createElement('table');
$domAttribute = $dom->createAttribute('id');
$domAttribute->value = 'my_table';
$tr = $dom->createElement('tr');
$table->appendChild($tr);
$td = $dom->createElement('td', 'Label');
$tr->appendChild($td);
$td = $dom->createElement('td', 'Value');
$tr->appendChild($td);
$table->appendChild($domAttribute);
$dom->appendChild($table);
//The following is the output effect
Finally, let’s take a
complete and more complex example:
Copy code
The code is as follows:
$dom = new DOMDocument('1.0');
//CSS content
$css_text = '';
$css_text .= 'body{width:285px;margin:auto;margin-top:50px;}';
$css_text .= '#my_table{border:1px solid #ececec;}';
$css_text .= '#my_table th{border:1px solid #ececec;padding:5px;text-decoration:underline;}';
$css_text .= '#my_table td{border:1px solid #ececec;padding:5px;}';
$css_text .= '#my_table td:first-child{text-align:right;color:#333333;font-weight:bold;color:#999999;}';
//Create new style tag and CSS content
$style = $dom->createElement('style', $css_text);
//Create new attribute 'type'
$domAttribute = $dom->createAttribute('type');
//Add value to attribute 'type'
$domAttribute->value = 'text/css';
//Add this attribute to the style tag
$style->appendChild($domAttribute);
//Add the style tag to the DOM file
$dom->appendChild($style);
//Add form
$form = $dom->createElement('form');
$dom->appendChild($form);
$formAttribute = $dom->createAttribute('method');
$formAttribute->value = 'post';
$form->appendChild($formAttribute);
//Add table
$table = $dom->createElement('table');
$tableAttribute = $dom->createAttribute('id');
$tableAttribute->value = 'my_table';
$table->appendChild($tableAttribute);
//Add new row(row)
$tr = $dom->createElement('tr');
$table->appendChild($tr);
//Add new column(column)
$th = $dom->createElement('th', 'Generate HTML using PHP');
$tr->appendChild($th);
$thAttribute = $dom->createAttribute('colspan');
$thAttribute->value = '2';
$th->appendChild($thAttribute);
//Add new row(row)
$tr = $dom->createElement('tr');
$table->appendChild($tr);
//Add new column(column)
$td = $dom->createElement('td', 'First Name');
$tr->appendChild($td);
//Add new column(column)
$td = $dom->createElement('td');
$tr->appendChild($td);
//Add input element to column(column)
$input = $dom->createElement('input');
$td->appendChild($input);
$tdAttribute = $dom->createAttribute('type');
$tdAttribute->value = 'text';
$input->appendChild($tdAttribute);
$tdAttribute = $dom->createAttribute('name');
$tdAttribute->value = 'f_name';
$input->appendChild($tdAttribute);
//Add new row(row)
$tr = $dom->createElement('tr');
$table->appendChild($tr);
//Add new column(column)
$td = $dom->createElement('td', 'Email');
$tr->appendChild($td);
//Add new column(column)
$td = $dom->createElement('td');
$tr->appendChild($td);
//Add input element to column(column)
$input = $dom->createElement('input');
$td->appendChild($input);
$tdAttribute = $dom->createAttribute('type');
$tdAttribute->value = 'text';
$input->appendChild($tdAttribute);
$tdAttribute = $dom->createAttribute('name');
$tdAttribute->value = 'e-mail';
$input->appendChild($tdAttribute);
//Add new row(row)
$tr = $dom->createElement('tr');
$table->appendChild($tr);
//Add new column(column)
$td = $dom->createElement('td', 'Gender');
$tr->appendChild($td);
//Add new column(column)
$td = $dom->createElement('td');
$tr->appendChild($td);
//Add input element to column(column)
$select = $dom->createElement('select');
$td->appendChild($select);
$tdAttribute = $dom->createAttribute('name');
$tdAttribute->value = 'gender';
$select->appendChild($tdAttribute);
//Add options to the Select drop-down box
$opt = $dom->createElement('option', 'Male');
$domAttribute = $dom->createAttribute('value');
$domAttribute->value = 'male';
$opt->appendChild($domAttribute);
$select->appendChild($opt);
$opt = $dom->createElement('option', 'Female');
$domAttribute = $dom->createAttribute('value');
$domAttribute->value = 'female';
$opt->appendChild($domAttribute);
$select->appendChild($opt);
//添加新的行(row)
$tr = $dom->createElement('tr');
$table->appendChild($tr);
//添加新的列(column)
$td = $dom->createElement('td', 'Interest');
$tr->appendChild($td);
//添加新的列(column)
$td = $dom->createElement('td');
$tr->appendChild($td);
//添加 input 元素到列(column)中
$radio = $dom->createElement('input');
$td->appendChild($radio);
$radAttribute = $dom->createAttribute('type');
$radAttribute->value = 'radio';
$radio->appendChild($radAttribute);
$radAttribute = $dom->createAttribute('name');
$radAttribute->value = 'interest';
$radio->appendChild($radAttribute);
$radAttribute = $dom->createAttribute('id');
$radAttribute->value = 'php';
$radio->appendChild($radAttribute);
$label = $dom->createElement('label', 'PHP');
$labelAttribute = $dom->createAttribute('for');
$labelAttribute->value = 'php';
$label->appendChild($labelAttribute);
$td->appendChild($label);
$radio = $dom->createElement('input');
$td->appendChild($radio);
$radAttribute = $dom->createAttribute('type');
$radAttribute->value = 'radio';
$radio->appendChild($radAttribute);
$radAttribute = $dom->createAttribute('name');
$radAttribute->value = 'interest';
$radio->appendChild($radAttribute);
$radAttribute = $dom->createAttribute('id');
$radAttribute->value = 'jquery';
$radio->appendChild($radAttribute);
$label = $dom->createElement('label', 'jQuery');
$labelAttribute = $dom->createAttribute('for');
$labelAttribute->value = 'jquery';
$label->appendChild($labelAttribute);
$td->appendChild($label);
//添加新的行(row)
$tr = $dom->createElement('tr');
$table->appendChild($tr);
//添加新的列(column)
$td = $dom->createElement('td');
$tr->appendChild($td);
$tdAttribute = $dom->createAttribute('colspan');
$tdAttribute->value = '2';
$td->appendChild($tdAttribute);
//添加 input 元素到列(column)中
$input = $dom->createElement('input');
$td->appendChild($input);
$tdAttribute = $dom->createAttribute('type');
$tdAttribute->value = 'submit';
$input->appendChild($tdAttribute);
$tdAttribute = $dom->createAttribute('value');
$tdAttribute->value = 'Sign-Up';
$input->appendChild($tdAttribute);
//添加 table 到 form 中
$form->appendChild($table);
echo $dom->saveHTML();
http://www.bkjia.com/PHPjc/824813.html www.bkjia.com true http://www.bkjia.com/PHPjc/824813.html TechArticle 在这一章节里, 我们来了解下如何利用核心(core) PHP 生成 HTML 文件 最近我在查询 php.net 的时候,发现 DOMDocument 这个类非常的有意思, 可以...
Statement: The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn