Duncan Duncan - 2 months ago 13x
PHP Question

How can I convert a sentence to an array of words?

From this string:

$input = "Some terms with spaces between";

how can I produce this array?

$output = ['Some', 'terms', 'with', 'spaces', 'between'];


You could use explode, split or preg_split.

explode uses a fixed string:

$parts = explode(' ', $string);

while split and preg_split use a regular expression:

$parts = split(' +', $string);
$parts = preg_split('/ +/', $string);

An example where the regular expression based splitting is useful:

$string = 'foo   bar';  // multiple spaces
var_dump(explode(' ', $string));
var_dump(split(' +', $string));
var_dump(preg_split('/ +/', $string));