php 生成 mhtml,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 = newbody();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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>