网站添加缓存功能后,发现页面顶部出现了一行空白,刚开始排查CSS的问题无果,最后发现原来是因为多生成了一个看不见的BOM。
一、页面顶部突然出现空白的原因
缓存页面的时候,会文件开头处插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)
二、如何处理:删除这三个不可见的字符
代码如下:
//取得内容
$html = parsesource::fetchHtmlStr($c_path.$filename);
//去除BOM
$html = ltrim($html,"\XEF\XBB\XBF");