Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] cortar texto en espacio en blanco

Estas en el tema de cortar texto en espacio en blanco en el foro de PHP en Foros del Web. Hola comunidad, extraigo el primer párrafo de un texto con substr que lo toma de un campo de una base de datos, por ejemplo: Código ...
  #1 (permalink)  
Antiguo 21/06/2013, 09:50
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
cortar texto en espacio en blanco

Hola comunidad, extraigo el primer párrafo de un texto con substr que lo toma de un campo de una base de datos, por ejemplo:

Código PHP:
echo substr($texto0100); 
Lo que quisera saber es como hacer para que me cierre en un espacio en blanco y no que me corte una palabra, por ejemplo:

Sí tengo este texto:

"Si start no es negativo, la cadena devuelta comenzará en el start de la posición del string empezando desde cero"

y lo extraigo me quede así:

Si start no es negativo, la cadena

y no así:

Si start no es negativo, la cade

No sé si me explico.

Alguna solución?

Muchas gracias!
  #2 (permalink)  
Antiguo 21/06/2013, 09:59
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: cortar texto en espacio en blanco

Googlear nunca esta demas
https://www.google.com/search?client...utf-8&oe=utf-8
  #3 (permalink)  
Antiguo 21/06/2013, 10:28
Avatar de jrobinsonc  
Fecha de Ingreso: noviembre-2007
Ubicación: Santo Domingo
Mensajes: 34
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: cortar texto en espacio en blanco

Mira una pequeña función aquí:

Código PHP:
Ver original
  1. function cut_text($str, $limit, $end = '...')
  2. {
  3.     return substr($str, 0, strpos($str, ' ', $limit)) . $end;
  4. }
  5.  
  6.  
  7. // Ejemplo de uso:
  8. $text1 = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore .';
  9.  
  10. echo cut_text($text1, 20);
__________________
Mi sitio web personal.
  #4 (permalink)  
Antiguo 21/06/2013, 14:58
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: cortar texto en espacio en blanco

Cita:
Iniciado por jrobinsonc Ver Mensaje
Mira una pequeña función aquí:

Código PHP:
Ver original
  1. function cut_text($str, $limit, $end = '...')
  2. {
  3.     return substr($str, 0, strpos($str, ' ', $limit)) . $end;
  4. }
  5.  
  6.  
  7. // Ejemplo de uso:
  8. $text1 = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore .';
  9.  
  10. echo cut_text($text1, 20);
Anduvo perfecto!. Muchas gracias. Lo que encontré en google era más complejo.
  #5 (permalink)  
Antiguo 23/06/2013, 19:09
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: cortar texto en espacio en blanco

Vuelvo a abrir el tema comunidad y disculpen.

Resulta que la función anda muy bien para cuando es mayor a 20 la cantidad de caracteres, pero cuando es menor me da el sgte. error:

Warning: strpos() [function.strpos]: Offset not contained in string in

Cómo lo sulucionaría?. Muchas gracias!
  #6 (permalink)  
Antiguo 23/06/2013, 19:58
Avatar de jrobinsonc  
Fecha de Ingreso: noviembre-2007
Ubicación: Santo Domingo
Mensajes: 34
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: cortar texto en espacio en blanco

Bueno, con esta modificación no te dará el error:

Código PHP:
Ver original
  1. function cut_text($str, $limit, $end = '...')
  2. {
  3.     if (strlen($str) <= $limit)
  4.         return $str;
  5.     else
  6.         return substr($str, 0, strpos($str, ' ', $limit)) . $end;
  7. }
__________________
Mi sitio web personal.
  #7 (permalink)  
Antiguo 23/06/2013, 20:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cortar texto en espacio en blanco

Sería interesante si además de proporcionar un código con la solución también explicaras la razón del error que se recibía y en que consiste la correción.

De otra forma el tema sirve únicamente para aquellos code-monkeys que se la pasan copiando y pegando código, y será de poca ayuda para quien de verdad busca comprender lo que se hace, y no únicamente cómo se hace.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 24/06/2013, 15:04
Avatar de jrobinsonc  
Fecha de Ingreso: noviembre-2007
Ubicación: Santo Domingo
Mensajes: 34
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: cortar texto en espacio en blanco

Cita:
Iniciado por pateketrueke Ver Mensaje
Sería interesante si además de proporcionar un código con la solución también explicaras la razón del error que se recibía y en que consiste la correción.

De otra forma el tema sirve únicamente para aquellos code-monkeys que se la pasan copiando y pegando código, y será de poca ayuda para quien de verdad busca comprender lo que se hace, y no únicamente cómo se hace.
pateketrueke: Es cierto lo que dices. Aunque siempre trato de dar una explicación esta ves estaba un poco apurado en otra cosa y solo quise darle la solución.

Pero tomaré mas en cuenta la parte de explicar.
__________________
Mi sitio web personal.

Etiquetas: blanco, cortar, espacio
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 00:43.