php explode: разбить строку на слова, используя пробел в качестве разделителя

$str = "This is a    string";
$words = explode(" ", $str);

Работает нормально, но пробелы все еще идут в массив:

$words === array ('This', 'is', 'a', '', '', '', 'string');//true

Я предпочел бы иметь слова только без пробелов и хранить информацию околичество пробелов отдельный.

$words === array ('This', 'is', 'a', 'string');//true
$spaces === array(1,1,4);//true

Только что добавленное:(1, 1, 4) означает один пробел после первого слова, один пробел после второго слова и 4 пробела после третьего слова.

Есть ли способ сделать это быстро?

Спасибо.

Ответы на вопрос(6)

Ваш ответ на вопрос