检测与删除页面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,一切解决.
查看更多关于检测与删除页面BOM(UTF-8)空行方法 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30159