¿Cómo puedo truncar una cadena después de 25 palabras usando PHP?

Icono preguntar a Sir Apfelot

Icono preguntar a Sir ApfelotEstoy buscando una forma de truncar una cadena de texto después de un cierto número de palabras. Aunque hay un comando en PHP que se puede usar para truncar una cadena en X caracteres, generalmente está en medio de una palabra y no me gusta eso. ¿Cómo se puede resolver esto con un número de palabras?

Respuesta: Para hacer esto tienes que construir tu propia función. PHP en sí mismo no tiene una función que permita tal abreviatura basada en palabras. Básicamente, explotas el texto y usas el espacio como separador. Entonces el mío tiene una matriz que contiene las palabras individuales. Para luego limitar la cadena a 25 palabras, construye gradualmente el texto junto con un bucle y simplemente deja que se ejecute 25 veces. El script PHP terminado se ve así:

$meintext = "Este es mi gran texto que quiero acortar. Actualmente todavía es relativamente largo y contiene muchas palabras. Pero después de que el script PHP termine con él, será bastante corto. Aproximadamente de la misma longitud que man Solo da ¡pruébalo!"; $texto corto = ''; $contarpalabras = 25; $fragmentos = explotar(' ', $mitexto); for ($x = 0; $x < $cantidad de palabras; $x++) { $texto corto .= "{$fragmentos[$x]} "; } $texto corto .= "..."; // Añadir puntos echo $shorttext; // Acabado...

 

¿Por qué palabras y no signos?

Dividir el texto después de un cierto número de palabras es mucho más elegante que truncarlo después de cualquier número de caracteres. Esto hace que el final del extracto sea mucho más legible y se vea mejor. Creo que las palabras que están cortadas en el medio siempre parecen errores en el texto.

Ejemplo de PHP: acorte la cadena después de X caracteres

Sin embargo, si por alguna razón desea truncar después de una cierta cantidad de caracteres en lugar de palabras, esto es mucho más fácil que el ejemplo anterior. Aquí solo necesitas tres líneas de código:

$meintext = "Este es mi gran texto que quiero acortar. Actualmente todavía es relativamente largo y contiene muchas palabras. Pero después de que el script PHP termine con él, será bastante corto. Aproximadamente de la misma longitud que man Solo da ¡pruébalo!"; $mitexto=strip_tags ($mitexto); // primero filtrar las etiquetas HTML que de otro modo se romperían si se acortaran if(strlen($mitexto)>100) echo substr($mitexto,0,100)."..."; // después de 100 caracteres se truncará; de lo contrario, echo $mitexto;  
¿Te gustó el artículo y te ayudaron las instrucciones del blog? Entonces sería feliz si usted el blog a través de una membresía constante apoyaría.

2 comentarios sobre "¿Cómo puedo truncar una cadena después de 25 palabras con PHP?"

    1. ¡Hola Siegberto! Gracias por la pista. Esto de alguna manera se rompió a lo largo de los años, ya que solía tener otro complemento para mostrar los códigos. ¡Lo he corregido ahora y espero que sea legible de nuevo!

Escribe un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados con * markiert

En el Blog de Sir Apfelot encontrarás consejos, instrucciones y reseñas sobre productos de Apple como el iPhone, iPad, Apple Watch, AirPods, iMac, Mac Pro, Mac Mini y Mac Studio.

Especiales