这段代码我最早是在boblog里看到,那时候他有一个批量去除BOM的程序,就是用的这个方法,代码如下:

function replace_utf8bom($str)
{
$charset[1] = substr($str,0,1);
$charset[2] = substr($str,1,1);
$charset[3] = substr($str,2,1);
if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191)
{
return substr($str,3);
}
else
{
return false;
}
}

很明显,这就是前面三个字符是固定的原因,当然可以这样判断了。。。说白了很简单,但如果不知道就真的很痛苦了。顺便说一下,它来自:http://www.phptext.net/technology.php?vid=53