当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-27 10:51:19 浏览: 评论:0 

php可以通过自带函数preg_replace可以用数组批量替换,不过用正则表达式替换效率很低,用起来也不方便。具体参考php手册,有需要的小伙伴可以参考下。

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

template.html 模板文件

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

test.php 动态文件

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

Tags: php标签替换 php生成静态页面

分享到: