- Carriage return is: "\r"
- But carriage return (CR) is different from "new line" (NL)
- New Line (NL) is "\n"
- What in HTML is called "line break" is the sum of a CR and a NL.
- And different systems use this characters in different way; so, to get a "line break":
- in Linux/Unix: \n
- in Windows: \r\n
- in Mac (pre-OS X): \r
- in Max (OS X): \n (like Linux/Unix)
So, the best fix is to insert "\r\n"
the string "This is the first line\r\nThis is the second line"
Will render so:
This is the first line
This is the second line
"This is the first line".PHP_EOL."This is the second line"
will render the same.
Beware to the double quotes! "\r\n" will render a full carriage return; otherwise '\r\n' will render \r\n verbatim.