Vamos a ver ejemplos para contar las palabras en una cadena con PHP, la función de PHP que voy a usar para realizar el recuento es str_word_count().
La definición de la función es la siguiente:
Devuelve información sobre las palabras utilizadas en un string
Veamos cual es la sintaxis de esta función extraída de su web oficial:
str_word_count ( string [, formato = 0 [, string_charlist ]] )
Os explico los parámetros:
str_word_count() devuelve el número de palabras en un string.
Si no se especifica el valor formato la función devolverá un entero con el número de palabras, en caso contrario delvoverá un array asociativo dependiendo del formato elegido.
Es importante aclarar que solo reconoce caracteres alfabéticos y no alfanuméricos, si la palabra es an4re, lo contará como an y re, 2 palabras en vez de una.
Vamos a ver en este ejemplo que he preparado cómo contar las palabras que hay en una cadena de texto:
$cadena = "Esto es una prueba para contar palabras"; echo "$cadena"; //saco el número de palabras con el parámtero '0' echo "Hay ".str_word_count($cadena, 0). " palabras en la cadena '$cadena'"; //guardo las palabras en un array $array_cadena = str_word_count($cadena, 1); //saco cada elemento del array foreach ($array_cadena as $palabra) { echo $palabra . " "; }
Os explico el código del ejemplo:
Si quisiéramos contar palabras con números en ellas este sería el código:
// metemos el 3 en mitad de la plabra $cadena = "Esto3palabra"; //decimos que el 3 tambien cuenta. $array_cadena = str_word_count($cadena, 1, '3');
Explico el código: