Frage

I have a CSV I am downloading from a source I'm not in control of and the end of each line is a

^M 

character when printed to a bash terminal. How can I sanitize this input programmatically in PHP?

War es hilfreich?

Lösung

What you're seeing is a Windows control character. To get rid of this in PHP, what you need to do is $file = str_ireplace("\x0D", "", $file) this will work whether hexadecimal is lowercase or uppercase.

Andere Tipps

You can also ask PHP to auto detect any weird line endings by just adding in this line before reading the CSV file and you won't be required to do anything else.

ini_set('auto_detect_line_endings', true);

^M is a carriage return, you should be able to remove it with:

$string = str_replace( "\r", "", $string);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top