php单引号中有htMl标签,php中双引号、单引号的输出-php模版生成html的小例子-php页面静态化的小例子_169IT.COM...

/**

* php页面静态化

* 静态化分为 真静态和伪静态

* 静态化的有点在于 SEO 和 安全性 使用缓存机制还可以大大提高网站的速度

*/

/**

* php自带的缓存机制

* 需要在php.ini中进行配置

* 或者使用ob_start()-> output_buffering:on

* 关于几个缓存的函数:ob_start();ob_clean();ob_get_content();ob_end_clean();关闭缓存同时清空

* ob_flush();输出缓存里面的内容并且清空,但是不关闭 ob_end_flush();关闭同时输出

*/

/**/

ob_start();//开启缓存

echo 'yyy';//没有开启缓存的情况下会报错,因为没有遇到header的时候,php默认发送一个header,这个header无法修改

header('content-type:text/htm;charset=utf-8');

echo '123';

ob_get_contents();//得到缓存的内容

ob_end_clean(); // www.

echo 'aa';//放在程序缓存里面

header('content-type:text/htm;charset=utf-8');//运行的时候会报错,因为缓存已经关闭

/*

* 利用php自带的缓存机制做真缓存

* 真缓存的页面的内容应该是长期都不需要变的,并且不同用户看到的东西都是一样的

* 原理:用户第一次访问的时候查询数据库,然后得到缓存区的内容,并且放到缓存文件里面

* */

/**

*/

ob_start();

//判断缓存文件是否存在

$html_filename='static.html';

if(file_exists($html_filename) &&  (filemtime($html_filename)+30) > time())//超过30秒则重新生成

{

//直接取出缓存页面的内容

echo file_get_contents($html_filename);

exit;

}

echo 'Your content';

$html_content=ob_get_contents();

$html_filename='static.html';

file_put_contents($html_filename,$html_content);

/*

*  * 上述原理的缺陷:1.实时性不够  2.不利于seo优化

* 解决办法:在数据库发生增加和更新的时候更新缓存文件

* */

if($_REQUEST['act'] == 'add')//update 也是

{

//先获取模版文件

$template_content=file_get_contents('template.tpl');

//替换标签

$php_content=str_replace()("{",'<?php echo ',$template_content);

$php_content=str_replace("}",'?>',$template_content);

//生成缓存文件

$php_tplname='php_tpl.php';

file_put_contents($php_tplname,$php_content);

include(file_put_contents);

$html_content=ob_get_contents();

$html_filename='static.html';

file_put_contents($html_filename,$html_content);

}

/**

* 真静态的缺陷:生成的 缓存文件很多,占硬盘

* 对于海量的html生成,可以考虑用伪静态

*/

$str='123,33,333';

preg_match('/\d\d\d\d/is',$str,$arr);//匹配连续四个出现的数字 返回到arr 只是匹配一个 arr[0]

preg_match('/(\d)(\d)/is',$str,$arr);//这时候arr返回三个 0放置匹配的字符串,arr[n]按照表达式顺序返回匹配的字符串

//对于需要全部匹配的使用preg_match_all()函数;正则表达式里面需要'' 不要使用""

/**

* 使用apache的rewrite机制

* 注意点:apache的配置 开启rewrite module 也要设置derectory的权限 allowoverride from all

* 文件 .htacss //匹配规则是从上而下的,可以设置error页面

* RewireEngine On

* news-id(\d)\.html$  news.php?id=$1

* news-id(\d).html$    error.php      #错误页面放到最后

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值