Your string is equal to \r\n\r\n\t\r\ndata\r\n\t
which is CR LF CR LF TAB CR LF "data" CR LF TAB
. You're only trimming LF
(\n
) in your trim()
call, which is why you don't trim CR
(\r
) and TAB
(\t
) also present in your string.
Try removing the second parameter (which specifies what characters should be trimmed), it will take care all of the whitespace characters.
As of Docs:
This function returns a string with whitespace stripped from the beginning and end of str. Without the second parameter, trim() will strip these characters:
" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab.