Foros del Web » Programando para Internet » PHP »

Cortar texto por palabras

Estas en el tema de Cortar texto por palabras en el foro de PHP en Foros del Web. Tengo texto guardado en una tabla de mysql o en una variable segun casos, pero lo mismo da donde, el texto va a aparecer en ...
  #1 (permalink)  
Antiguo 07/07/2004, 05:36
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 6 meses
Puntos: 0
Cortar texto por palabras

Tengo texto guardado en una tabla de mysql o en una variable segun casos, pero lo mismo da donde, el texto va a aparecer en un pdf, pero como es muy largo hay que cortarlo a x caracteres, lo cual no da ningun problema, y seguir en la linea siguiente.
Como puedo hacer para que corte por palabras completas y no donde toque, hay alguna funcion o proceso sencilllo que lo haga.

Saludos
  #2 (permalink)  
Antiguo 07/07/2004, 08:49
 
Fecha de Ingreso: marzo-2004
Ubicación: Bariloche ARGENTINA
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 1
tal vez te sirva este script:

<?
// Inicializamos las variables
$tamano = 50; // tamaño máximo en caracteres
$contador = 0;
$texto = 'Este es el texto que se cortará para que no ocupe más de 50 carácteres';

// Cortamos la cadena por los espacios
$arrayTexto = split(' ', $texto);
$texto = '';

// Reconstruimos la cadena
while($tamano >= strlen($texto) + strlen($arrayTexto[$contador])){
$texto .= ' '.$arrayTexto[$contador];
$contador++;
}
if($texto == '')$texto = substr($arrayTexto[0], 0, $tamano);
echo $texto;
?>
  #3 (permalink)  
Antiguo 07/07/2004, 09:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 152
Antigüedad: 20 años, 5 meses
Puntos: 2
esta seria otra forma

Código PHP:
$num 500;
$str $substr($texto,$num);
$n strlen($str)-strpos($str," ");
$textocortado substr($str,-$n); 
creo, pruebalo.
  #4 (permalink)  
Antiguo 26/10/2007, 16:23
 
Fecha de Ingreso: julio-2005
Mensajes: 8
Antigüedad: 18 años, 8 meses
Puntos: 2
Re: Cortar texto por palabras

Yo lo hice funcionar asi

Código PHP:
function cortarTexto($str,$num)
{
        
$str substr($str,0,$num);
        return 
substr($str,0, -(strlen($str)-strrpos($str,' ')) );  

  #5 (permalink)  
Antiguo 20/12/2016, 11:16
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Re: Cortar texto por palabras

Hola.
He puesto tu codigo en marcha y funciona genial, mil gracias... un detalle... cuando la cadena es muy corta no funciona ¿sabes por que?

Cita:
Iniciado por errorserver Ver Mensaje
Yo lo hice funcionar asi

Código PHP:
function cortarTexto($str,$num)
{
        
$str substr($str,0,$num);
        return 
substr($str,0, -(strlen($str)-strrpos($str,' ')) );  

  #6 (permalink)  
Antiguo 21/12/2016, 18:40
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cortar texto por palabras

Sí hay una función: wordwrap
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:52.