首页 > 解决方案 > 无法从字符串中删除 \ufeff

问题描述

该应用程序基本上是这样工作的:

1) 用户上传 CSV 文件。

2) PHP 通过 POST 捕获文件。

3)我用 . 打开文件fopen()并用 . 读取文件fgetcsv()

第一列总是有\ufeff字符。我知道这叫做 UTF-8 BOM,它是由 Microsoft Excel 生成的。但是,当我想删除它时,我不能。

我试过了:str_replace('\ufeff', '', $columns[0]);

标签: phpcharacter-encoding

解决方案


$columns[0] = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $columns[0]);

上面的代码可以帮助您删除文档中存在的隐藏字符,就像您提到的那样。


推荐阅读