php 刪除文件當頭的 BOM 標籤代碼 / 移除文件開頭的 0xef 0xbb 0xbf

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標籤了


Thank you for reading

沒有留言:

發佈留言

由於一直被灌水, 因此您發表留言之後, 需要等待博客主的審核, 才會公開您的留言, 所以請不要重複的留言
Hello my friend, I have no money, My blog is super chill, Please do not screw me up in the replies at the bottom of the article, thanks a lot