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 $_FILES函数详解
Mar 09 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
PHP模块memcached使用指南
Dec 08 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
php上传后台无法收到数据解决方法
Oct 28 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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
vue-axios使用详解
2017/05/10 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
Python中的__slots__示例详解
2017/07/06 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
tensorflow常用函数API介绍
2020/04/19 Python
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
干部行政关系介绍信
2014/01/17 职场文书
五好关工委申报材料
2014/05/31 职场文书
个人股份转让协议书范本
2014/10/26 职场文书