帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

检测与删除页面BOM(UTF-8)空行方法 - php高级应用

检测与删除页面BOM(UTF-8)空行方法

我们经常会在发现页面中无故多了一些空白行了,但在编辑器中又看到到,这个我们知道是由BOM(UTF-8)导致的.

我最常用的办法,利用php替换.

BOM: 万国码档案签名 BOM (Byte Order Mark, U+FEFF)

BOM 的内容可以表示 UNICODE 是哪种编码,但是在接收到的档案,要拆解后写入 DB,看到 BOM 就觉得有点 ooxx.

在 utf8_encode 看到两段程式可以来测试 写入/移除 BOM.将写入的档案内容前加 BOM,代码如下:

<?php 
function  writeUTF8File( $filename , $content ) 

     $f  =  fopen ( $filename ,  'w' ); 
    fwrite( $f , pack( "CCC" , 0xef,0xbb,0xbf)); 
    fwrite( $f , $content ); 
    fclose( $f ); 

?> 

移除 BOM function,代码如下:

<?php 
function  removeBOM( $str  =  '' ) 

    if  ( substr ( $str , 0,3) == pack( "CCC" ,0xef,0xbb,0xbf)) { 
        $str  =  substr ( $str , 3); 
   } 
    return   $str ; 

?> 

另外看到,判断此字串是不是 UTF-8 的 function,代码如下:

function  isUTF8( $string ) 

     return  (utf8_encode(utf8_decode( $string )) ==  $string ); 

利用ultraedit编辑器直接修改文档

把出现空行的文档另存没没有BOM的格式就行了,ultraedit保存文档时的编码格式,选择里面的UTF8-无BOM,一切解决.

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《检测与删除页面BOM(UTF-8)空行方法 - php高级应用》
文章链接:https://www.admin99.cn/6911
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册