php模板中出现空行解决方法


Posted in PHP onMarch 08, 2011

在本地也解决了,但是上传到服务器依然有空行,搞了一个上午,都快崩溃了,最后决定自己想办法解决,经过几个小时的摸索终于有了完美解决方法了。
运用php显示缓冲区显示原理,成功去掉
在php的头上加一行ob_start(); 然后再模板显示前加个ob_end_clean(); 在模板显示后加个ob_end_flush();
这样问题就解决了,现在给出整体结构实例代码:

<?php 
ob_start(); //此处为php逻辑操作 
ob_end_clean(); //此处为php模板显示 
ob_end_flush(); 
?>

其它网友的补充:
开发中一直没办法解决的一个问题,收藏

页面采用UTF8编码,头部和尾部用了模板包含文件的方法,结果头部和尾部无端端各多出一个约10px的空行,什么也没有。

原因是全部采用utf8编码,包含文件的时候,最后的二进制流中包含了多次UTF8 BOM标记,IE不能正常解析包含多个UTF8 BOM 标记的页面,直接替换成实际显示的回车,这样导致一个空行,而firefox却没有这个问题。

故如果模板采用包含的方法包含多个utf8文件需要用ultraedit保存时另存为功能 选择utf8 无bom格式保存即可。

另外,如果中文页面在html head标记中将title标记放在<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />前面会导致页面空白。

所以utf8页面应该使用标准顺序

<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
<meta http-equiv="content-language" content="zh-CN" /> 
<meta name="robots" content="index,follow" /> 
<meta name="keywords" content="" /> 
<meta name="description" content="" /> 
<meta name="rating" content="general" /> 
<meta name="author" content="" /> 
<meta name="copyright" content="" /> 
<meta name="generator" content="" /> 
<title></title>

BOM头:\xEF\xBB\xBF,PHP4、5尚对BOM无视,所以在解析前直接输出。
对此 w3.org 标准 FAQ 中对此问题有一个专门的描述:

http://www.w3.org/International/questions/qa-utf8-bom

具体如下:

在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。

UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。

Windows就是使用BOM来标记文本文件的编码方式的操作系统: WindowsXP Professional , 缺省字符集:中文

1) notepad : 可以自动识别出没有带 bom 的 utf-8 编码格式文件,但不可以控制保存文件时是否添加 bom , 如果保存文件,那么会统一添加 bom 。

2)editplus : 不能自动识别出没有 bom 的 utf-8 编码格式文件,文件保存时,选择UTF-8 格式,不会在文件头写上 BOM header.

3) UltraEdit : 对于字符编码的功能最为强大, 可以自动识别带 bom 和不带 bom 的 utf-8 文件 (可以配置) ; 保存的时候可以通过配置选择是否添加 bom.

(特别需要注意的是,保存一个新建立的文件时,需要选择另存为 utf-8 no bom 格式)

后来发现 Notepad ++ 也对于 utf-8 bom 支持比较好,推荐大家使用。

PHP 相关文章推荐
php你的验证码安全码?
Jan 02 PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 PHP
php Smarty模板生成html文档的方法
Apr 12 PHP
简单的php新闻发布系统教程
May 09 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
Oct 06 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 #PHP
PHP数组交集的优化代码分析
Mar 06 #PHP
php下安装配置fckeditor编辑器的方法
Mar 02 #PHP
PHP如何抛出异常处理错误
Mar 02 #PHP
php中实现记住密码自动登录的代码
Mar 02 #PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 #PHP
php Smarty 字符比较代码
Feb 27 #PHP
You might like
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Python之list对应元素求和的方法
2018/06/28 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
用python发送微信消息
2020/12/21 Python
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
甜美蛋糕店创业计划书
2014/01/30 职场文书
房地产财务管理制度
2014/02/02 职场文书
投标担保书范文
2014/04/02 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
教师党员自我评价范文
2015/03/04 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript