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正则
Jul 07 PHP
PHP脚本数据库功能详解(上)
Oct 09 PHP
php开发环境配置记录
Jan 14 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
ThinkPHP中使用Ueditor富文本编辑器
Sep 02 PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 PHP
PHP函数超时处理方法
Feb 14 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 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/10/27 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
angularjs $http调用接口的方式详解
2018/08/13 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
Python3数字求和的实例
2019/02/19 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
python交易记录整合交易类详解
2019/07/03 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
金融专业个人求职信
2013/09/22 职场文书
岗位职责的含义
2013/11/17 职场文书
工厂会计员职责
2014/02/06 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
班主任经验交流材料
2014/12/16 职场文书
先进班组事迹材料
2014/12/25 职场文书
单独二胎证明
2015/06/24 职场文书
小学中队长竞选稿
2015/11/20 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
iPhone13将有八大升级
2021/04/15 数码科技
Python列表的索引与切片
2022/04/07 Python