去掉UTF签名

<?php
/*去掉utf8签名 */
 
/* 方法一:读取文件前三个字节,然后判断处理  */

function removebom($filename){
 $contents=file_get_contents($filename);
 $charset[1] = substr($contents, 0, 1);
 $charset[2] = substr($contents, 1, 1);
 $charset[3] = substr($contents, 2, 1);
 if (ord($charset[1]) == 239 && ord($charset[2]) == 187 &&ord($charset[3]) == 191) {
  $rest = substr($contents, 3);
  file_put_contents ($filename, $rest);
 }
}

 

/* 方法二:采用正则的16进制查找替换 */
 

$contents=file_get_contents('u.txt');
$contents=preg_replace('/\xef\xbb\xbf/','',$contents);
file_put_contents('u.txt', $contents);
 

 

/* 方法三:读取文件后,直接文件指针定位,忽略前三个字节 */

$fp=fopen('u.txt','rw');
fseek($fp,3);
$contents='';
while (($buffer = fgets($fp, 4096z)) !== false) {
    $contents.=$buffer;
}
file_put_contents('u.txt',$contents);

 


/* 方法三:打包特殊的标记,然后用字符串替换掉 */

function remove_utf8_bom($text){
    $bom = pack('H*','EFBBBF');
    $text = preg_replace("/^$bom/", '', $text);
    return $text;
}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值