问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php如何生成html文件

发布网友 发布时间:2022-05-11 04:56

我来回答

4个回答

懂视网 时间:2022-05-11 09:18

目的

用PHP生成HTML文档, 支持标签嵌套缩进, 支持标签自定义属性

起因

这个东西确实也是心血来潮写的, 本来打算是输出HTML片段用的, 但后来就干脆写成了一个可以输出完整HTML的功能;

我很满意里边的实现缩进的机制, 大家有用到的可以看看

p.s. 现在都是真正的前后端分离了(vue, nodejs, webpack...), 这个东西喜欢就用, 不喜欢就算了~

支持的标签

html, head, meta, title, body, input, select/option, form, table, div, 注释, 以及 自定义标签(成对出现的标签), 还有一大堆属性(在下边有介绍)

实现

整体

1.每个标签都对应一个类, 比如 标签<html>, 对应了一个叫html的类

2.标签中有用到的属性, 我都放到了一个类中了, 并提供了方法去获取赋了值的属性

嵌套缩进

每个标签我都设计了一个类, 比如 table 标签, 就有一个叫table的类与之对应

每个类里边一般都有以下3个重要成员:

1.本标签的缩进值

2.输出本标签最终字符串的方法, out()

3.给本标签添加子标签的方发, append()

其中append()接收的是子标签的对象, 在最终调用$html->out()的时候, 每个子标签对象里的out()方法会被依次调用, 缩进值也会从上层类传递到最下层类并累加;

另外, 每个类都包含了属性类(calss attribute ), 每个类的缩进值是从属性类里继承而来的, 所以如果修改了属性类里的缩进量, 所有类的缩进量就跟着改变了

你也可以给标签类添加一个自己的缩进值来覆盖统一的缩进值

属性

我这里的方案是定义一个类(calss attribute ), 里边有

1.标签可能拥有的属性

2.对应的setXxx方法

3.组装非空的属性拼成字符串的方法

4.为了不影响下次显示, 会有专门的清空方法, 把之前赋值的属性都清空

这样的话, 在定义标签属性的时候, 需要的就赋上值, 不需要的不赋值就不会在最终的HTML代码中显示出来

源码

地址: 码云 看其中的test.php文件,是介绍他的用法。

更多PHP相关知识,请访问PHP中文网!

热心网友 时间:2022-05-11 06:26

$str='<html>
<head>
<meta http-equiv="Content-Language" content="zh-CN">
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<meta http-equiv="refresh" content="0.1;url=链接">
<title>标题</title>
</head>
<body>
</body>
</html>':
$a='你的ID.html';//要生成的文件名
$handle=fopen($a,"w");
fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);

热心网友 时间:2022-05-11 07:44

做缓存吗 你把这段代码写进文件不就好了吗 然后文件名就是id值.html

热心网友 时间:2022-05-11 09:18

大概的思路是,准备三个文件
1.你要录入的表单页面
2.你要生成的模板文件,就如你给出的代码,作为模板
3.验证执行文件,这个文件先读取模板,然后把你提交的表单数据载入模板,生成HTML
具体的我发到你邮箱去吧~~~

记得采纳为最佳答案~~~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
虹口区东余杭路541弄算几号地块?12年下半年号称要拆,附近都在拆类,明... 我想知道新建路东余杭路这二年有没有拆迁规划? 手机通话变声器哪种好 变声器哪个好用 我准备7月底开始复习考研,还来得及吗 大四下学期考研还来得及吗 考研还来得及吗 ...在脊椎骨右边靠脊椎骨附近疼,是什么原因,大概有半个多月了,弯腰时... 电脑开着总是无缘无故蓝屏提示 电脑开着总是无缘无故蓝屏 电脑无缘无故蓝屏怎么回事探究电脑突然蓝屏的原因 以下哪些选项是中学生厌学心理的客观成因() 西安和洛阳哪个城市更悠久? 如何应对孩子阅读障碍问题 如果发现孩子智力有问题怎么办呢? 阅读障碍怎么办,如何提高阅读的速度和阅读的效率 什么是阅读障碍 洛阳、西安一线玩几天合适 西安,洛阳,成都,哪个城市比较好玩 巨无霸桃什么时候成熟 刘光战桃子是天下第一吗? 谁能告诉我安徽省宿州市桃沟乡的历史? 加治将树的桃城武个人资料 桃卡卡的介绍 光战2号桃树苗多少钱一株? 大棚光战一号桃是不是自花授粉 刘光战的秋雪桃子都有哪些特点? 谁有好看的喜剧电影。 求好看的喜剧电影 求好看的喜剧电影推荐,最好是中国的~一定要好笑哦!谢谢了!!! 曾志伟喜剧电影全集 中风后遗症如何恢复? 中风的后遗症应该怎么消除呢? 如何网上购物! 有谁可以告诉我如何网上购物? 怎么弄网上购物? 索尼的HX90与WX500相比,谁的性价比更高,或者是谁更值得买? wx500跟hx90比如何? 索尼Hx90和wx500有evf取景器吗? iPhone6怎么改名字 佳能sx720怎么样?相比于索尼hx60,hx90,wx500呢?家用应该买入门单反还是卡 怎么才能不通过验证也可以给QQ发消息 iPhone6怎么改名字 iPhone6改名字方法 手机资讯 3533手机世界 房屋交易税怎么收取的 在拼多多,中付了钱怎么退款 索尼hx系列和WX系列相比哪个更好 房产交易大税怎么收 网易云音乐歌手唱歌有音乐没歌手声音是怎么回事? 索尼DSC-H90和SonyDSC-WX70那个好 房屋买卖税是怎么算的 苹果iPhone6怎么修改蓝牙名称