Puoi fare cosi se vuoi contare non soltanto gli spazi ma anche le virgole, punto , etc...

codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php 
$testo  = "Io avevo fatto così e mi sembra che funzioni abbastanza bene,"; 
$testo .= "l'unico problema è che considera i caratteri accentati come non parola,"; 
$testo .= "cosa che si potrebbe risolvere inserendoli nella classe dei caratteri"; 
$testo .= "consentiti così [a-zàèìòù].";
$testo .= "Il modo migliore in realtà sarebbe di definire i caratteri di una parola";
$testo .= " attraverso la classe [\p{L}] ma preg non vuole accettarmi questa sintassi,"; 
$testo .= "nonostante abbia messo il modificatore u come dice il manuale:"; 
$pattern = "/^(\w+\W*){1,15}/";
print "$testo
";
preg_match($pattern,$testo,$regs);
print_r($regs);
 ?>
<hr>
<? 
$testo = preg_replace($pattern,"\\0...",$testo);
print $testo;
 ?>
</body>
</html>