如何删除多个UTF-8 BOM序列
使用PHP5(cgi)从文件系统输出模板文件,并出现吐出原始HTML的问题。
private function fetch($name) { $path = $this->j->config['template_path'] . $name . '.html';
if (!file_exists($path)) {
dbgerror('Could not find the template "' . $name . '" in ' . $path);
}
$f = fopen($path, 'r');
$t = fread($f, filesize($path));
fclose($f);
if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
$t = substr($t, 3);
}
return $t;
}
即使我添加了BOM修复程序,但Firefox接受它仍然有问题。您可以在此处查看实时副本:http :
//ircb.in/jisti/(以及要查看的模板文件,我在http://ircb.in/jisti/home.html上提交的文件)
任何想法如何解决这个问题?o_o
回答:
您将使用以下代码删除utf8 bom
//Remove UTF8 Bomfunction remove_utf8_bom($text)
{
$bom = pack('H*','EFBBBF');
$text = preg_replace("/^$bom/", '', $text);
return $text;
}
以上是 如何删除多个UTF-8 BOM序列 的全部内容, 来源链接: utcz.com/qa/398680.html