I have a string with line breaks in my database. I want to convert that string into an array, and for every new line, jump one index place in the array.
If the string is:
The result I want is this:
Array (  => My text1  => My text2  => My text3 )
You can use the
explode function, using "
\n" as separator :
$your_array = explode("\n", $your_string_from_db);
For instance, if you have this piece of code :
$str = "My text1\nMy text2\nMy text3"; $arr = explode("\n", $str); var_dump($arr);
You'd get this output :
array 0 => string 'My text1' (length=8) 1 => string 'My text2' (length=8) 2 => string 'My text3' (length=8)
Note that you have to use a double-quoted string, so
\n is actually interpreted as a line-break.
(see that manual page for more details)
I've always used this with great success:
$array = preg_split("/\r\n|\n|\r/", $string);
(updated with the final \r, thanks @LobsterMan)