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类
Apr 09 PHP
.htaccess文件保护实例讲解
Feb 06 PHP
PHP学习之整理字符串
Apr 17 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
Oct 10 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 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数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
8个PHP数组面试题
2015/06/23 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
2010/03/23 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
Python批量修改文本文件内容的方法
2016/04/29 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python设置环境变量的作用整理
2020/02/17 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
投标保密承诺书
2014/05/19 职场文书
校园文化标语
2014/06/18 职场文书
入股合作协议书
2014/10/12 职场文书
市场总监岗位职责
2015/02/11 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
nginx 配置缓存
2022/05/11 Servers