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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
mysql 全文搜索 技巧
Apr 27 PHP
关于PHP结束标签的使用细节探讨及联想
Mar 04 PHP
php教程之phpize使用方法
Feb 12 PHP
PHP实现适用于文件内容操作的分页类
Jun 15 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
php微信公众号开发之翻页查询
Oct 20 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
Oct 21 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
原生js调用json方法总结
2018/02/22 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
使用python实现BLAST
2018/02/12 Python
Python实现简单http服务器
2018/04/12 Python
python得到windows自启动列表的方法
2018/10/14 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
Python列表list操作相关知识小结
2020/01/29 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
机械工程师岗位职责
2014/06/16 职场文书
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
教师三严三实心得体会
2014/10/11 职场文书
贫困证明书范文
2015/06/16 职场文书
单位收入证明范本
2015/06/18 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
感恩教育主题班会
2015/08/12 职场文书