php 刪除 BOM 代碼

php delete BOM remove bom

BOM標籤,就是在文件檔頭加入一串 0xef 0xbb 0xbf ,早期文書編輯軟體是靠這串來判定是否為utf8文件,但現今有沒有這串已經沒差了,不少軟體都改成全文掃瞄的方式,用字符集區段來判定是否為utf8文件。

由於現今網頁主流是採用utf8萬國碼,在製作網頁文件時,是不可以含到BOM標籤,不然會造成空白,甚至程序出錯。

 
說實在這問題是開發人員,所使用的文書編輯軟體有關,像windows內建記事本,這是含BOM不推薦使用,或是使用老舊的編輯器,沒有區分含不含BOM存檔的軟體。

算是我在使用 php 簡 轉 繁 轉 UTF8 工具 將網頁文件轉換完成之後,打開部份檔案檢視時,怎麼會有utf8包含BOM的文件≧ ≦,後來想了一陣子,才想到可以去掉bom在存檔,於是google了一下,就找到想關的code。

php 去除 BOM 代碼如下:
if((ord($str2[0]) == 0xef) && (ord($str2[1]) == 0xbb) && (ord($str2[2]) == 0xbf)){
$str2 = substr($str2,3);
}



你也可以寫成function調用,像下圖那樣(可點圖放大):



算是用來測試一下,代碼是否有效,就是建一個aaa.txt包含BOM的文件,跑完後打開bbb.txt,看是否已經沒有包含BOM標籤了。

.

留言

秘密留言