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加MYSQL服务器
Oct 09 PHP
用libtemplate实现静态网页生成
Oct 09 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
discuz的php防止sql注入函数
Jan 17 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
实例讲解PHP中使用命名空间
Jan 27 PHP
设定php简写功能的方法
Nov 28 PHP
PHP获取类私有属性的3种方法
Sep 10 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
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php表单敏感字符过滤类
2014/12/08 PHP
PHP模块化安装教程
2016/06/01 PHP
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
FF IE兼容性的修改小结
2009/09/02 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python中请使用isinstance()判断变量类型
2014/08/25 Python
给Python初学者的一些编程技巧
2015/04/03 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
详解Django中间件执行顺序
2018/07/16 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
房地产还款计划书
2014/01/10 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
护理专科学生自荐书
2014/07/05 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python