[PHP] Detecting a BOM

2010-01-13 Thread Leszek Stachowski
Hi,

is there any way to detect BOM in a file? I'm writing a parser which outputs
a number line if there's an error in it and its content. Every time it
parser a file saved in UTF-8 with BOM it outputs those three magic letters.
Can I pre-check for it and skip it? Or convert somehow?

Greetings,
Leszek Stachowski


Re: [PHP] Detecting a BOM

2010-01-13 Thread Daniel Egeberg
On Wed, Jan 13, 2010 at 11:42, Leszek Stachowski shaza...@gmail.com wrote:
 Hi,

 is there any way to detect BOM in a file? I'm writing a parser which outputs
 a number line if there's an error in it and its content. Every time it
 parser a file saved in UTF-8 with BOM it outputs those three magic letters.
 Can I pre-check for it and skip it? Or convert somehow?

 Greetings,
 Leszek Stachowski

The UTF-8 byte order mark is represented by the hexadecimal character
sequence EF BB BF. You can use something like this to detect a BOM:

if (substr($source, 0, 3) == pack('CCC', 0xEF, 0xBB, 0xBF)) {
// has bom
}

-- 
Daniel Egeberg

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php