Shawn McKenzie wrote: > Well in your approach you get a bunch of empty elements where the spaces > are. Here are two ways but I'm sure one preg_match_all() without the > explodes and loop could do it (some guru will show us): > > //one way > $text = 'xxx xxxx xx xxxxx xx xxx > xx xxxxx x xxx xx xxxxxx > xx xxx xx xxxx xx xx'; > > $lines = explode(PHP_EOL, $text); > > foreach($lines as $line) { > $temp = explode(' ', $line); > $result[] = array_filter($temp, 'reduce'); > } > function reduce($var) { > return !empty($var); > } > print_r($result); Array ( [0] => Array ( [0] => xxx [2] => xxxx [4] => xx [6] => xxxxx [8] => xx [11] => xxx ) [1] => Array ( [0] => xx [2] => xxxxx [5] => x [7] => xxx [9] => xx [11] => xxxxxx ) [2] => Array ( [0] => xx [2] => xxx [4] => xx [6] => xxxx [8] => xx [11] => xx ) ) > > //another way > $text = 'xxx xxxx xx xxxxx xx xxx > xx xxxxx x xxx xx xxxxxx > xx xxx xx xxxx xx xx'; > > $lines = explode(PHP_EOL, $text); > > foreach($lines as $line) { > preg_match_all('|([^\s]+)+|', $line, $matches); > $result[] = $matches[1]; > } > print_r($result); Array ( [0] => Array ( [0] => xxx [1] => xxxx [2] => xx [3] => xxxxx [4] => xx [5] => xxx ) [1] => Array ( [0] => xx [1] => xxxxx [2] => x [3] => xxx [4] => xx [5] => xxxxxx ) [2] => Array ( [0] => xx [1] => xxx [2] => xx [3] => xxxx [4] => xx [5] => xx ) ) There is a difference in the key numbering though if that is important. -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php