php使用标签替换的方式生成静态页面


Posted in PHP onMay 21, 2015

这段代码演示了php如何通过自定义的模板页面和自定义标签生成静态页面。原理非常简单,就是将模板页面中的标签替换成动态数据即可。希望能给你一定的启发。

template.html 模板文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{site_title} - sharejs.com</title>
</head>
<body>
<iframe width="100%" height="1000px" scrolling="yes" frameborder="0" src="{site_url}" ></iframe>
</body>
</html>

test.php 动态文件

<?php
header('content-type:text/html; charset=utf-8');//防止生成的页面乱码
$title = "PHP 动态生成静态HTML页面_脚本分享网"; //定义变量
$url = "http://www.sharejs.com";
$temp_file = "temp.html"; //临时文件,也可以是模板文件
$dest_file = "dest_page.html"; //生成的目标页面
$fp = fopen($temp_file, "r"); //只读打开模板
$str = fread($fp, filesize($temp_file));//读取模板中内容
$str = str_replace("{penglig_site_title}", $title, $str);//替换内容
$str = str_replace("{penglig_site_url}", $url, $str);//替换内容
fclose($fp);
$handle = fopen($dest_file, "w"); //写入方式打开需要写入的文件
fwrite($handle, $str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);//关闭打开的文件,释放文件指针和相关的缓冲区
echo "<script>alert('生成成功');window.location.href='".$dest_file."';</script>";
?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
php的urlencode()URL编码函数浅析
Aug 09 PHP
PHP IF ELSE简化/三元一次式的使用
Aug 22 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
PHP中preg_match函数正则匹配的字符串长度问题
May 27 PHP
PHP new static 和 new self详解
Feb 19 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 19 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 PHP
PHP扩展类型及安装方式解析
Apr 27 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 PHP
php eval函数一句话木马代码
May 21 #PHP
php结合正则批量抓取网页中邮箱地址
May 19 #PHP
php实现模拟登陆方正教务系统抓取课表
May 19 #PHP
PHP IDE phpstorm 常用快捷键
May 18 #PHP
PHP网络操作函数汇总
May 18 #PHP
PHP面向对象之后期静态绑定功能介绍
May 18 #PHP
php中关于socket的系列函数总结
May 18 #PHP
You might like
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
JS中的BOM应用
2018/02/02 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
为python设置socket代理的方法
2015/01/14 Python
Python反射的用法实例分析
2018/02/11 Python
python使用turtle绘制分形树
2018/06/22 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
Django 路由系统URLconf的使用
2018/10/11 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
python内置模块collections知识点总结
2019/12/19 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
最新教师自我评价分享
2013/11/12 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
党员带头倡议书
2015/04/29 职场文书