¿?.... si entendí tu cuestión... creo buscas algo como:
Código PHP:
$Palabras=explode(' ', $stringpalabras);
shuffle($Palabras);
for ($a=0; $a<15; $a++)
echo $Palabras[$a];
echo "<br>";
www.php.net/for 
... pero no entendí bien tu cuestión... lo que tienes te deberá mostrar solo 16 palabras (o lo que dividas por espacios) no "los 30"....
Espero te sirva

.