Función PHP para truncar texto sin cortar palabras

¿Quieres colaborar? click

encuesta

¿Qué lenguaje utilizas del lado del servidor?

Ver resultados

Loading ... Loading ...

ÚLTIMOS COMENTARIOS

» Ricardo Rodriguez - Posiciona Web en WordAds, el "AdSense" de WordPress.com: Hola David.. Gracias por compartir esta excelente noticia. Pienso que se nos v ... ver comentario »

» NoticiasTecnologia en Plugin para manejar microdatos en WordPress: Interesante, para tomarlo en cuenta en cualquier tipo de sitio montado en Wordpr ... ver comentario »

» TecnoArk en Apple es el mayor fabricante de teléfonos inteligentes en 2011: Interesante artículo, aunque sin lugar a dudas el próximo año será un difícil añ ... ver comentario »

» LordCaos en Candy, un cliente de chat en JavaScript: Precisamente lo que buscaba, gracias... ... ver comentario »

» JUAN CARLOS en Ordenar y filtrar resultados de consultas MySQL con PHP, sin saturar la base de datos: me gustan mucho tus publicaciones, gracias por ayudarnos a resolver nuestras dud ... ver comentario »

» nuglam en Google cierra varios de sus servicios: no van a cerrar igoogle. solo desactivarán sus caráteristicas sociales. igual un ... ver comentario »

» David en Blogger y Picassa cambian de nombre: Pues efectivamente, parece que de momento la cosa está igual que estaba... ... ver comentario »

» Pepa en Blogger y Picassa cambian de nombre: Pues desde que publicaste esto no han cambiado nada, no? ... ver comentario »

» Mariano en Google+ ¿un fracaso antes de empezar?: Las pabadas que hay que leer de DAW... NO PUEDE VOLTEARLO, ya lo intento 3 veces ... ver comentario »

» DJMASTER en Bucles for en PHP: Igual que en C# ! :D ... ver comentario »

PATROCINADORES

» Servidores virtuales
» VPS

Función PHP para truncar texto sin cortar palabras

Por David | 23/abril/2010 18:30h | |      

Cuando manejamos cadenas de texto muy grandes, que exceden del espacio que tenemos reservado para mostrarlas (por ejemplo cuando queremos poner un resumen de un post en portada), se hace muy útil contar con una función en PHP como la que os mostramos a continuación, que permite coger una cadena dada y cortarla al tamaño que le indiquemos sin dejar palabras a medias:

<?php
// Original PHP code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.

function myTruncate($string, $limit, $break=”.”, $pad=”…”) {
// return with no change if string is shorter than $limit

if(strlen($string) <= $limit)
return $string;

// is $break present between $limit and the end of the string?

if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) – 1) {
$string = substr($string, 0, $breakpoint) . $pad;
}
}
return $string;
}

?>

La llamada a la función se hace de la siguiente manera:

myTruncate($cadena, $long_min, $cadena_corte, $coletilla)

Donde $cadena representa la cadena de texto que queremos “resumir” sin cortarla indebidamente (sin dejar palabras a medias), $long_min es un entero que indica la longitud mínima que debe tener la nueva cadena, $cadena_corte es la cadena que indica el corte (lo típico es un espacio en blanco), y $coletilla es el texto que se colocará al final de la cadena devuelta.

Veamos su uso en un ejemplo:

$cadena = ‘Don Quijote de la Mancha es una novela escrita por el español Miguel de Cervantes Saavedra. Publicada su primera parte con el título de El ingenioso hidalgo don Quixote de la Mancha a comienzos de 1605, es una de las obras más destacadas de la literatura española y la literatura universal, y una de las más traducidas. En 1615 aparecería la segunda parte del Quijote de Cervantes con el título de El ingenioso caballero don Quixote de la Mancha.’;

myTruncate($cadena, 20, ‘ ‘, ‘…’);

Nos devuelve:

“Don Quijote de la Mancha…”

SOBRE EL AUTOR

David

Fundador de vitaminaWEB.com (allá por el 2001), trabaja como desarrollador web y tiene otro sitio web con los mejores fondos de pantalla: todoFONDOS.com

Artículo anterior
Artículo siguiente

Temas relacionados:

»

También puedes consultar en los diferentes foros de desarrollo web de este sitio web.

Referencias externas a este artículo (pingbacks y trackbacks): 0

Puedes enlazar este artículo, desde tu web o blog, a:

http://vitaminaweb.com/funcion-php-para-truncar-texto-sin-cortar-palabras_350

O bien utilizar el siguiente código HTML:

<a href="http://vitaminaweb.com/funcion-php-para-truncar-texto-sin-cortar-palabras_350">Función PHP para truncar texto sin cortar palabras</a>

COMENTARIOS

  • Hatler

    dijo, el 03/marzo/2011 a las 23:49h :

    Buen aporte justo lo que estaba buscando.

  • wabth

    dijo, el 02/junio/2011 a las 22:56h :

    Probado. si funciona. Lo necesitaba para limitar palabras en un PDF generado con FPDF y PHP.

  • oscar

    dijo, el 08/junio/2011 a las 17:25h :

    le hace falta optimizar el codigo.. aunque la verdad si me sirvio de mucho la idea principal

  • Victor

    dijo, el 21/junio/2011 a las 17:43h :

    Parse error: syntax error, unexpected T_STRING in /var/www/test.php on line 13

    $breakpoint que seria ???

    Saludos

Comentarios cerrados

vitaminaWEB.com (2001-2012) Desarrollo web y tecnología

Publicación sobre desarrollo web, tecnología y otros temas relacionados.

portada - datos web - contacto

páginas temáticas: PHP

NUBE DE TEMAS (pincha para ver todos los artículos relacionados con un tema)

Accesibilidad , AJAX , Apache , ASP , bbPress , Bing , CSS , Curiosidades , Diseño gráfico , Dominios , Entrevistas , Eventos organizados , Flash , Fuentes tipográficas , GIMP , Google , HTML , HTML5 , Humor , Iconos , Java , JavaScript , Juegos , Libros , MySQL , Navegadores web , Otros temas , Photoshop , PHP , Posts patrocinados , Programas , Publicidad online , Redes sociales , Ruby on Rails , Seguridad informática , SEO , Servidores web , Silverlight , Usabilidad , WordPress , XHTML , XML