PHP生成HTML文件, SummerHtml

Posted myD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP生成HTML文件, SummerHtml相关的知识,希望对你有一定的参考价值。

2018-6-27 20:13:04 星期三

如果编辑页面有多个 select/option 标签 或者 多个checkbox/radio 标签的时候, 要把其中一个项默认选中

之前的写法有 vue的model, javascript+ajax方案去修改

但是还是感觉php代码熟练, 就干脆写一个用PHP生成html文档的类,

期望它可以输出完整的HTML文档, 也可以输出部分标签:

代码还是雏形, 刚好能用, 支持的标签不多: 码云 看test.php文件,是介绍用法

 

1. 生成HTML头部的一些标签

1 //生成头部
2 $html = Html::ini()->setLang(‘en‘)->setTitle(‘自动生成HTML文件‘)->setMetaName(‘keyword‘, ‘自动生成HTML‘)
3     ->css(‘http://aaa.css‘)
4     ->css(‘http://bbb.css‘)
5     ->js(‘http://jquery1.js‘)
6     ->js(‘http://jquery2.js‘)
7     ->setHead();

 

2. 生成 table 标签

 1 //生成table
 2 $data = [
 3     [‘a‘, ‘b‘, ‘c‘, ‘d‘],
 4     [‘a‘, ‘b‘, ‘c‘, ‘d‘],
 5     [‘a‘, ‘b‘, ‘c‘, ‘d‘],
 6     [‘a‘, ‘b‘, ‘c‘, ‘d‘],
 7     [‘a‘, ‘b‘, ‘c‘, ‘d‘],
 8 ];
 9 
10 $body = new body();
11 $table = table::ini()->setClass(‘mytable‘);
12 
13 foreach ($data as $k1 => $tds) {
14     $tr = tr::ini()->setId(‘tr_‘.$k1);
15     foreach ($tds as $k2 => $v2) {
16         $td = td::ini()->setText($v2)->setId(‘td_‘.$k1.‘_‘.$k2);
17         $tr->td($td);
18     }
19     $table->tr($tr);
20 }
21 
22 $body->append($table);

 

3. 生成 select/option, 并默认选中其中一项

1 $select = select::ini()->setId(‘select_id‘);
2 $options = [‘a1‘ => 1, ‘a2‘ => 2, ‘a3‘ => 3];
3 foreach ($options as $name => $value) {
4     $option = option::ini()->setText($name)->setValue($value);
5     $value == 2 && $option->setSelected(TRUE);
6     $select->option($option);
7 }

 

4. 将 select / input 加入到 form标签中

 1 $form = form::ini()->setId(‘myform‘)->setClass(‘formclass‘)->setMethod(‘post‘)->setAction(‘http://www.test5.com/submit‘);
 2 
 3 $form->append(input::ini()->setId(‘a1‘)->setType(‘hidden‘)->setName(‘a1‘)->setValue(1));
 4 $form->append(input::ini()->setId(‘a2‘)->setType(‘text‘)->setName(‘a2‘)->setValue(2));
 5 $form->append(label::ini()->setText(‘下拉选框‘));
 6 
 7 ...
 8 
 9 
10 $form->append($select);

 

5. 将标签添加到 body 标签中

//将表单加入body
$body->append($form);

 

6. 将body标签加入到html标签中, 并返回最终的HTML文档

//将body加入html
$str = $html->setBody($body)->out();

 

以上是关于PHP生成HTML文件, SummerHtml的主要内容,如果未能解决你的问题,请参考以下文章

php [Php - Phpoffice Override]覆盖PHPOffice\PHPWord类以从HTML代码生成docx文件。当orde时,这个生成正确的数字

在 HTML 中请求时使用 PHP 生成 JavaScript 文件

求一串完整的php代码+html php随机生成10位数字,而且永远不会重复,在一个单行文本框内输出

php代码如何实现扫描二维码获取扫描者的信息

vendor/autoload.php怎么生成

PHP 使用 PHPExcel 库生成 Excel 文件