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和XSL stylesheets转换XML文档
Oct 09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
php自动加载的两种实现方法
Jun 21 PHP
smarty基础之拼接字符串的详解
Jun 18 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
smarty中常用方法实例总结
Aug 07 PHP
PHP闭包函数详解
Feb 13 PHP
Smarty环境配置与使用入门教程
May 11 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 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中的时间显示
2007/01/18 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
php操作MongoDB类实例
2015/06/17 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP中phar包的使用教程
2017/06/14 PHP
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
开始着手第一个Django项目
2015/07/15 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
python for 循环获取index索引的方法
2019/02/01 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
使用Django清空数据库并重新生成
2020/04/03 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
美国在线家装零售商:Build.com
2016/09/02 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
培训心得体会
2013/12/29 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
勤俭节约倡议书
2014/04/14 职场文书
小摄影师教学反思
2014/04/27 职场文书
本科毕业生自荐信
2014/05/26 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python