php生成html简单代码实例

本文介绍了使用PHP动态生成HTML静态页面的方法,旨在减少服务器负担并优化搜索引擎体验。通过读取模板文件,替换特定标签,将数据填充到HTML中。示例代码包括从数组中直接读取数据替换模板,以及使用PHP类来生成HTML。
摘要由CSDN通过智能技术生成

实例一

原理剖析:

当我们制作数据量大以及访问人数多的网站时往往会采用动态生成html静态页面的方法,这样做的好处是用户直接访问静态页面,减轻了服务器的负担,又可以对搜索引擎更加友好,可谓一举两得;

其原理是先读入模板文件,然后按照一定的规则替换模板中的标签,具体实现如下:


index.tpl 模板文件代码:

<!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>{title}</title>  
</head>  
<body>  
{content}   
</body>  
</html> 


index.php 服务端代码:

<?php   
$data = array('id' => 1, 'title' => '这里是标题', 'content' => '这里是内容');   
$tpl = 'index.tpl';   
$content = file_get_contents($tpl);     //读取模板文件的内容   
$content = str_replace('{title}',$data['title'],$content);  //用具体数据来替换模板标签   
$content = str_replace('{content}',$data['content'],$content);   
file_put_contents($data['id'].'.html',$content);   //将替换后的内容写进html文件中   
?> 


这里是从数组中直接读取数据,实际过程中可以将数据库读取的数据保存在数组中,然后用循环的方法实现替换就行了。

 

实例二

//单页生成html页
<?php
ob_start();   //开启服务器缓存
include_once '../gsjj.php'; 
$ctx=ob_get_contents();     //获取缓存
ob_end_clean();     //清空缓存 
$fh=fopen("../gsjj.html","w+");  
fwrite($fh,$ctx);    //写入html,生成html
fclose($fh);  
echo "<script>alert('文件生成成功');location.href='makehtml.php';</script>";
?>

//新闻列表带分页生成html页
<?php
$fp = fopen ("../new.html","r");  //只读方式打开 new.html模板,将文件指针指向文件头
$content = fread ($fp,filesize ("../new.html"));    //读取整个文件内容
$list = '';
$num=0;
$sql= "select * from news ";
$result=mysql_query($sql);
while($row=mysql_fetch_assoc($result))
{    //查询entries表,取出列表项
$num++;
if($row["url"]=="")
{
$list .= "<ul class='news' id='ul'><li><a href='".$row["tid"].".html'>".$row['title']."</a></li></ul>";
}
else
{
$list .= "<ul class='news' id='ul'><li><a href='".$row["url"]."' target='_blank'>".$row['title']."</a></li></ul>";
}
}
$content= str_replace (
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值