2011-10-27 43 views
14

Tôi đang làm việc với tệp CSV được xuất từ ​​Excel.Làm thế nào để loại bỏ tất cả các lần xuất hiện của c2a0 trong một chuỗi bằng PHP?

Tôi có một cột có giá trị là 1 234,00. Tôi cần phải nhận tất cả khoảng trắng từ các loại cột này bằng PHP và tôi đã cố gắng thực hiện với preg_replace("/\s*/","",$column) cũng như với str_replace(" ","",$column). Tôi đã gần như đã sẵn sàng để mất nó vì vậy tôi đã liếc vào tập tin csv với một trình soạn thảo HEX và nhận thấy, rằng không gian này bao gồm hai giá trị hex, C2 và A0 mà dường như là không gian UTF-8 không phá vỡ.

Nhưng tôi hút với các công cụ mã hóa và tôi vẫn còn bối rối trong việc tìm cách xóa chúng. Ý tưởng nào?

Trả lời

39
$column = str_replace("\xc2\xa0", '', $column); 
+2

Yep. Cảm ơn rất nhiều! :) – budwiser

10

Bạn có thể sử dụng trim

trim($data['value'], " \t\n\r\0\x0B\xc2\xa0") 

đâu \t\n\r\0\x0B là defualt mặt nạ, \xc2\xa0 cần thêm

+1

[trim] (http://php.net/manual/en/function.trim.php) cũng bao gồm dấu cách trong mặt nạ mặc định - '" \ t \ n \ r \ 0 \ x0B \ xc2 \ xa0 " '. – galva

+0

@galva, cảm ơn! –

Các vấn đề liên quan