Следующее сильно зависит от того, что вы определяете как слово , но это кивок в другом направлении, далеко от простого explode
-ing.
$phrase = "All the ancient classic fairy tales have always been scary and dark.";
echo implode(' ', array_slice(str_word_count($phrase, 2), 0, 5));
Придает
Вся древняя классическая фея
Другая альтернатива, так как все любят регулярные выражения, будет выглядеть примерно так:
preg_match('/^(?>\S+\s*){1,5}/', $phrase, $match);
echo rtrim($match[0]);