Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/07/2005, 02:02
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Lo mismo esta funcioncilla te sirve:
Código PHP:
<style>
* {font-size:12px;}
</style>
<?
function mayor($cadena,$numero)
{
    
$cadena=ereg_replace(" +"," ",$cadena);
    
$cadena=explode(" ",$cadena);
    
$bool=0;
    foreach (
$cadena as $valor$bool+=(strlen($valor)>$numero) ? 0;
    return 
$bool;
}
//Ejemplo
$maximo=25;
$a[]="esto es una 12345678901234567890123456 frase cualquiera kljljfhfgjklhjfkljhkljh";
$a[]="esto es una 1234567890123456789012345 frase cualquiera kljljfhfgjklhjfkljhkljh";
$a[]="esto es una 123456789012345678901234 frase cualquiera kljljfhfgjklhjfkljhkljh";
$a[]="esto es una frase cualquiera 12345678901234567890123456 12345678901234567890123456  12345678901234567890123456 12345678901234567890123456dfggdf ";
foreach (
$a as $indice=>$valor) print "<u>frase $indice:</u><br>".$valor."<br><B>----></B>".((mayor($valor,$maximo)) ? (" Hay ".mayor($valor,$maximo)) : " NO hay ninguna") . " palabra".((mayor($valor,$maximo)) ? ((mayor($valor,$maximo)>1) ? "s" "") : "")." con mas de $maximo caracteres<br><br>";
?>
Puse unos ejemplos para que vieras. Se considera palabra todo aquello que este separado por espacio.
Por ejemplo en esta cadena "hola que tal.¿Cómo estas...?", "tal.¿Cómo estas...?" se considera como una palabra pués no hay espacio después del punto.
A la función se le ha de pasar una cadena y un numero máximo a partir del cual se considera que la palabra excede. Devuelve 0 si no hay ninguna que exceda el máximo, y el número de palabras que lo exceden si hay una o más.

Ya dependiendo de lo que quieras hacer se podría mejorar.

Salu2 ;)

PD: El foreach y todo lo que le sigue es para que vieras unos ejemplos, no tiene mayor importancia...
__________________
[+]
[+]