UTF8 BOM付き、BOM無し判定

UTF8 BOM付きを判定し、BOM付きからBOM無しへ変換

UTF-8 BOM付きファイルは EF BB BF の3バイトが先頭に付いている。

PHP

// UTF-8 if (preg_match('/^[\x0x\xef][\x0x\xbb][\x0x\xbf]/', $str)) { // UTF-8 BOM付き // BOM付きからBOM無しへ $str = substr($str, 3); } else { // UTF-8 BOM無し } // UTF-16BEはFE FF if (preg_match('/^[\x0x\xfe][\x0x\xff]/', $str)) { // UTF-16BE BOM付き } // UTF-16LEはFF FE if (preg_match('/^[\x0x\xff][\x0x\xfe]/', $str)) { // UTF-16LE BOM付き }

使用例

PHP

// ファイル読み込み $html = file_get_contents('file.txt'); if (preg_match('/^[\x0x\xef][\x0x\xbb][\x0x\xbf]/', $html)) { echo 'BOM付き'; }

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について