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实现登陆验证码(类似条行码状)
Oct 09 PHP
PHP __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
ThinkPHP安装和设置
Jul 27 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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检查是否是ajax请求的方法
2015/04/16 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
Javascript实现的分页函数
2007/02/07 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Django添加feeds功能的示例
2018/08/07 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
python实现感知器算法(批处理)
2019/01/18 Python
详解python数据结构和算法
2019/04/18 Python
Python实现Linux监控的方法
2019/05/16 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python如何支持并发方法详解
2020/07/25 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
JS原生实现轮播图的几种方法
2021/03/23 Javascript
工程专业求职自荐书范文
2014/02/18 职场文书
大专毕业生求职信
2014/07/05 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
安全主题班会教案
2015/08/12 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android