その場合、先頭とファイル中に2つ以上BOMが存在することになり、PHPでファイル内のBOMを全て除去したいのですが、単純に以下の処理を行っても問題ないのでしょうか?
$str = str_replace("\xef\xbb\xbf", '', $str);
問題があるとすれば、代替案も提示して頂けると有り難いです。
宜しくお願いします。
0xBBBF は、ハングルにマッピングされているエリアです。
→ Unicode一覧 B000-BFFF - Wikipedia
第2バイトに、0xEF がくる文字も当然あります。
0xBBBF → 뮿
0xBBEF 0xBBBF → 믯뮿
扱っているテキストファイルに、ハングルが入ってないことが保証されているのであれば、機械的に 3byte を削除して問題ないと思います。
googleで「php BOM 除去」または「pho BOM 削除」で検索するといいよ。
みんなBOM削除を1つの機能として見なして関数にして分けてる。
PHPでUTF-8のBOMを削除する方法
http://unsolublesugar.com/20120919/223812/
1機能を1行書きするのはナンセンスだと思う。
http://stackoverflow.com/questions/9100728/remove-multiple-boms-from-a-file
有り難うございます。