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 相关文章推荐
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
PHP 事件机制(2)
Mar 23 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
Dec 01 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
PHP与SQL语句常用大全
Dec 10 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
PHP实现添加购物车功能
Mar 06 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
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
详解Python3中ceil()函数用法
2019/02/19 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
python自定义函数def的应用详解
2020/06/03 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
美国牛仔品牌:True Religion
2018/11/16 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
你常见到的runtime exception
2016/09/05 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
微型企业创业投资计划书
2014/01/10 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
财务检查整改报告
2014/11/06 职场文书
2014年业务工作总结
2014/11/17 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
员工聘用合同范本
2015/09/21 职场文书