Bueno, existen muchas formas en que alguien puede afectar tu GB, pero vamos a enfocarnos por principio en lo que pides aqui.
Lo que tu estas pidiendo exactamente es muy sencillo de lograr, aqui te paso un código que hace eso...
Código PHP:
function palabralarga($texto){
//Primero, asumimos que no tiene cadenas largas
$notiene=TRUE;
//Luego, cortamos el texto en palabras
$partes=explode(" ",$texto);
// ahora recorremos cada palabra con tu primera función (strlen)
foreach ($partes as $palabra){
//Si alguna de las palabras es mayor que 30, retornamos un 1
//y salimos del bucle
if (strlen($palabra)>30){
$notiene=FALSE;
exit;
}
}
return $notiene;
}
// AHORA VAMOS A PROBARLA...
$texto1="este texto tiene una cadena larguisisisisisisisisisisisisisisisima!!!!";
$texto2="Esta cadena es una cadena normal, no tiene mayores problemas, ya que no hay textos largos";
//Vamos a aplicarles nuestra función...
if (!palabralarga($texto1)){
echo "CADENA OK";
} else {
echo "CADENA MALA, TIENE PALABRA LARGA!";
}
// Esta nos resulta en CADENA MALA, TIENE PALABRA LARGA!
if (!palabralarga($texto2)){
echo "CADENA OK";
} else {
echo "CADENA MALA, TIENE PALABRA LARGA!";
}
// Esta nos resulta en CADENA OK