PHP删除Windows ^ M字符

时间:2012-08-07 19:07:36

标签: php linux sanitize

我有一个CSV,我从一个我无法控制的来源下载,每行的结尾都是

^M 
打印到bash终端时的

字符。如何在PHP中以编程方式清理此输入?

3 个答案:

答案 0 :(得分:17)

您所看到的是Windows控制角色。要在PHP中摆脱这种情况,您需要做的是     $file = str_ireplace("\x0D", "", $file) 这将起作用,无论十六进制是小写还是大写。

答案 1 :(得分:3)

^Mcarriage return,你应该可以删除它:

$string = str_replace( "\r", "", $string);

答案 2 :(得分:3)

您还可以让PHP自动检测任何奇怪的行结尾,只需在读取CSV文件之前添加此行,您就不需要执行任何其他操作。

ini_set('auto_detect_line_endings', true);