hauhuahuha hai fatto un macello

ho una soluzione un po più semplice.

puoi fare un explode della stringa in base agli spazi

$stringa_array = explode(" ", $stringa);

dopodichè ti scorri ogni elemnto dell'array e controlli da quanti caratteri è

foreach ($stringa_array as $valore) {
$totale_caratteri = strlen($valore);
if($totale_caratteri > 40)
print("Attenzione stringa troppo grande ecc");
}

prova ciao