无法从字符串中删除\ ufeff

时间:2019-01-11 10:52:20

标签: php character-encoding

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

1)用户上传CSV文件。

2)PHP通过POST捕获了文件。

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

第一列始终带有\ufeff字符。我知道这称为UTF-8 BOM,由Microsoft Excel生成。但是,当我想要删除它时,我不能。

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

2 个答案:

答案 0 :(得分:0)

$headings=array();    
$handle = fopen($_FILES["contacts_file"]["tmp_name"], "r");  
$heading_data=fgetcsv($handle);
             foreach($heading_data as $heading){

              // Remove any invalid or hidden characters
              $heading = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $heading);

              array_push($headings, $heading);
         }

答案 1 :(得分:-1)

(defun sumlist2 (l)
  ;;this function computes total of a list by using dolist macro
  (let ((summ 0))
    (dolist (obj l summ)
      (incf summ obj))))

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