Una de las funciones mas solicitadas para crear una web es un contador de palabras en php, un ejemplo para los escritores que desean contar cuantas palabras tiene una publicación, o simplemente cortar el texto y a continuación colocar puntos suspensivos.
En el primer ejemplo vamos a ver 2 formas de contar palabras de una determinada cadena. Lo primero que vamos a ver es creando una función vamos al ejemplos
function contar_palabras($cadena){ return count(explode(" ", $cadena)); } // Modo de empleo: $cadena="uno dos tres cuatro cinco"; echo contar_palabras($cadena); // Resultado: 5
La segunda forma para contar las palabras es utilizar la función propia del php str_word_count este devuelve la información de una cadena de texto, a continuación mostramos la forma de utilizar.
$cadena = "uno dos tres cuatro cinco"; echo str_word_count($cadena); //Imprime: 5
Hay que considerar que si dejamos un doble espacio este va a reconocer como una palabra digamos un ejemplo de un string de esta forma
“uno(espacio, espacio, espacio)dos tres”
Esto va a reconocer como 5 palabras descontando un espacio.
Ahora les muestro la función de como cortar una cadena de texto para al final colocar los puntos suspensivos. En esta función no cuenta por palabras si no por caracteres donde se encuentra pre definido 50 caracteres para realizar el corte del string en caso de no colocar un numero.
function acortar_texto($string, $length=NULL){ //Si no se especifica la longitud por defecto es 50 if ($length == NULL) $length = 50; //Primero eliminamos las etiquetas html y luego cortamos el string $stringDisplay = substr(strip_tags($string), 0, $length); //Si el texto es mayor que la longitud se agrega puntos suspensivos if (strlen(strip_tags($string)) > $length) $stringDisplay .= ' ...'; return $stringDisplay; }