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与XML的PDF文档生成技术
Oct 09 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
YII中assets的使用示例
Jul 31 PHP
php生成xml时添加CDATA标签的方法
Oct 17 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
使用PHP生成图片的缩略图的方法
Aug 18 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
实例讲解PHP中使用命名空间
Jan 27 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
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
一份python入门应该看的学习资料
2018/04/11 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python函数的万能参数传参详解
2019/07/26 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
端午节活动策划方案
2014/03/09 职场文书
个人融资协议书
2014/10/02 职场文书
房贷收入证明范本
2015/06/12 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android