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+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
基于PHP生成静态页的实现方法
May 10 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
TP5框架请求响应参数实例分析
Oct 17 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 urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
Python subprocess模块学习总结
2014/03/13 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
大学生个人简历自我评价
2013/11/16 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
python 中的jieba分词库
2021/11/23 Python
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android