Foros del Web » Programando para Internet » PHP »

corta el texto a las 24 letras

Estas en el tema de corta el texto a las 24 letras en el foro de PHP en Foros del Web. Hola amigos, no vengo muy amenudo por el foro de PHP, pero hoy encontré un problema que me tiene la cabecita loca jeje. Tengo un ...
  #1 (permalink)  
Antiguo 26/09/2011, 08:53
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 8 meses
Puntos: 468
Pregunta corta el texto a las 24 letras

Hola amigos, no vengo muy amenudo por el foro de PHP, pero hoy encontré un problema que me tiene la cabecita loca jeje.

Tengo un problema al no localizar un código que no veo por ninguna parte

Para que veáis a lo que me refiero tengo que poneros esta dirección www.descargasandroid.net/foro Si entrais en el lado derecho aparece lo siguiente

Cita:
Último mensaje por Rodry
en Re:Algún reproductor de ...
en Hoy a las 01:41 pm
En la segunda línea muestra
Cita:
Re:Algún reproductor de ...
Que corta justo a las 24 letras ( contanto también los espacios )

Otro ejemplo que corta a las 24 letras:

Cita:
Último mensaje por Rodry
en Diferencias entre varios...
en Hoy a las 05:53 am
Pues lo que estoy intentando modificar es aumentar el número de letras antes de que deje de mostrarlo y añada los "..." ya que sobra bastante ancho en esa celda, pero no lo consigo localizar por ninguna parte, he estado googleando pero no hay mucha información sobre esto, más bien nada. espero que consigáis ayudarme

Un saludo y gracias de antemano
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #2 (permalink)  
Antiguo 26/09/2011, 08:58
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 7 meses
Puntos: 394
Respuesta: corta el texto a las 24 letras

Esto corta una cadena de texto en 50 caracteres sin que se moche la ultima palabra... te recomiendo que busques substr en tu codigo ya que este es que que corta la cadena...

Código PHP:
Ver original
  1. <?
  2.  
  3. // Inicializamos las variables
  4. $tamano = 50; // tamaño máximo
  5. $contador = 0;
  6. $texto = 'Este es el texto que se cortará para que no ocupe más de 50 carácteres';
  7.  
  8. // Cortamos la cadena por los espacios
  9. $arrayTexto = split(' ',$texto);
  10. $texto = '';
  11.  
  12. // Reconstruimos la cadena
  13. while($tamano >= strlen($texto) + strlen($arrayTexto[$contador])){
  14.     $texto .= ' '.$arrayTexto[$contador];
  15.     $contador++;
  16. }
  17. echo $texto;
  18. ?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 26/09/2011, 09:01
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 8 meses
Puntos: 468
Respuesta: corta el texto a las 24 letras

Pero en cual archivo has localizado ese código ? para saber donde ir a reemplazarlo. gracias por contestar

Encontré este código en un archivo llamado SSI.php

Cita:
'subject' => $row['subject'],
'short_subject' => shorten_subject($row['subject'], 25),
'preview' => $smcFunc['strlen']($preview) > 128 ? $smcFunc['substr']($preview, 0, 128) . '...' : $preview,
'body' => $row['body'],
'time' => timeformat($row['poster_time']),
'timestamp' => forum_time(true, $row['poster_time']),
'href' => $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . ';topicseen#new',
'link' => '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '" rel="nofollow">' . $row['subject'] . '</a>',
'new' => !empty($row['is_read']),
'is_new' => empty($row['is_read']),
'new_from' => $row['new_from'],
Tal vez sea en 25 en vez de 24 porque si contamos los "..." son 25 he cambiado el 25 por 35 para ver si muestra 10 letras más antes de cortar, parece que no hace nada, ya que los resultados al mostrarlo son los mismos
__________________
No te olvides de dar +1 a quien te echa un cable ;)

Última edición por rodrypaladin; 26/09/2011 a las 09:20
  #4 (permalink)  
Antiguo 26/09/2011, 09:26
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 7 meses
Puntos: 394
Respuesta: corta el texto a las 24 letras

Es imposible que nosotros veamos el codigo PHP, recuerda que ese codigo se ejecuta en el servidor y el envia al cliente solo codigo HTML, nosotros no podremos ver tu codigo PHP, asi que te tocara buscar substr en todo tu código para ver donde hace el cambio.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 26/09/2011, 09:29
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 8 meses
Puntos: 468
Respuesta: corta el texto a las 24 letras

He buscado substr pero me lleva a las secuencias que he pegado antes.
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #6 (permalink)  
Antiguo 26/09/2011, 09:30
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 7 meses
Puntos: 394
Respuesta: corta el texto a las 24 letras

Pues parece que se llama una función con dos parámetros que es 'short_subject' => shorten_subject($row['subject'], 25) pero la verdad no tengo ni idea que es eso ni que código tendrá esa función...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 26/09/2011, 09:37
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 8 meses
Puntos: 468
Respuesta: corta el texto a las 24 letras

más para abajo encontre unas secuencias aprecidas, pero tambien cambié el 25 por 35 pero nada
__________________
No te olvides de dar +1 a quien te echa un cable ;)

Etiquetas: corta, letras
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:27.