Home >Backend Development >PHP Tutorial >PHP uses the DOMDocument class to generate HTML instances (including common tag elements)_PHP tutorial

PHP uses the DOMDocument class to generate HTML instances (including common tag elements)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:26:05975browse

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


                                                                                                                                                                                                                                                              
                                                                                                                                                                                                     
Label


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();

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/824813.htmlTechArticle在这一章节里, 我们来了解下如何利用核心(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
Previous article:Xnova (ogame) source code interpretation for PHP web game learning (10)_PHP tutorialNext article:Xnova (ogame) source code interpretation for PHP web game learning (10)_PHP tutorial

Related articles

See more