How to explode a string, with spaces and new lines?

stephen picture stephen · Jul 29, 2013 · Viewed 13.4k times · Source

I would like to explode a string (separated based on a delimiter and placed into an array), using both a space (" ") and a newline ("\n") as a delimiter.

The method (which I don't think is the best way) is to:

  1. Explode the array by spaces
  2. Remake the string from the array
  3. Explode it again for new lines
  4. MySQL escape the individual elements.

Question: How do I exploded a string by both a space and new line?

Reference to: new line Array

Answer

Paolo Stefan picture Paolo Stefan · Jul 29, 2013

You could just do a

$segments = preg_split('/[\s]+/', $string )

This function will split $string at every whitespace (\s) occurrence, including spaces, tabs and newlines. Multiple sequential white spaces will count as one (e.g. "hello, \n\t \n\nworld!" will be split in hello, and world! only, without empty strings in the middle.

See function reference here.