Foros del Web » Programando para Internet » PHP »

como cortar palabras?

Estas en el tema de como cortar palabras? en el foro de PHP en Foros del Web. Saludos He hecho con un script que la gente pueda enviar comentarios y se graben el una db para despues poder mostrarlos, el problema esta ...
  #1 (permalink)  
Antiguo 20/01/2002, 18:43
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 15
Antigüedad: 22 años, 2 meses
Puntos: 0
como cortar palabras?

Saludos

He hecho con un script que la gente pueda enviar comentarios y se graben el una db para despues poder mostrarlos, el problema esta en que si una palabra es muy larga, demasiado, deformaria el tamaño de la tabla. Lo que quiero hacer es que separe estas palabras mediante un espacio por ejemplo.

He mirado la funcion wordwrap() o algo asi, pero al usarla no he conseguido nada.

Gracias

<STYLE>.ch{text-decoration: none; font: bold 8pt verdana; color: white; background-color: black;}</STYLE><TABLE width=100% cellpadding=0 cellspacing=0><TR><TD class=ch> þøWê®êРߥ [¢H®¥ø] - Wêß µñÐꮢøñ§T®µ¢Tîøñ</TD></TR></TABLE>
  #2 (permalink)  
Antiguo 20/01/2002, 21:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Re: como cortar palabras?

Puedes emplear el metodo HTML y la etiqueta align=&quot;justify&quot; en el &quot;echo (o print)&quot; del mensaje que desees mostrar, ejemplo:

&lt;?php
echo &quot;&lt;div align=&quot;justify&quot;&gt;$mensaje&lt;/div&gt;&quot;;
?&gt;

donde: $mensaje sera la variable que contenga el &quot;mensaje&quot; que desees mostrar.

Esta etiqueta HTML aling=&quot;justify&quot; justifica el texto (tal como lo hace cualquier procesador de textos) y funciona correctamente en IE 4.0 en adelante ... para variar, en Opera, Netscape u otros navegadores no funcionara y tomara el valor por defecto del navegador (suele ser &quot;left&quot;, izquierda).

Un saludo,
  #3 (permalink)  
Antiguo 21/01/2002, 07:58
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 4 meses
Puntos: 69
Re: como cortar palabras?

Cluster, pero lo que menciona nuestro amigo, es que si un usuario postea una PALABRA muy larga, sin espacios ni nada, entonces deformaría cualquier diseño, ya que el Justify no corta palabras al medio para mantener el justificado.

Para ello, te serviría la función wordwrap(), indicando todos los parámetros (4 en total).

Te recomiendo que leas la pagina del manual donde explica el uso de la funcion wordwrap().

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #4 (permalink)  
Antiguo 21/01/2002, 17:01
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: como cortar palabras?

Lo otro podria ser que cortaras la cadena total y solo pusieras &quot;una muestra&quot;, algo como :

---------------------------------------
usuario | ha escrito |
---------------------------------------
d^_^b 1 habia una vez caperuc...|
---------------------------------------
.
.
.

entonces, cortas la palabra y el pones unos puntos suspensivos ...
podrias hacerlo con la funcion substr()
cuyos parametros son la frase, el comienzo (desde donde empezaras a cortar) que seria 0, porke queremos que sea desde el principio de la palabra, y el ultimo parametro es el numero de caracteres que quieres que te corte, por ejemplo 27 (entonces depues le adjuntas los &quot;...&quot; y ter qwueda una cadena siempre de maximo 30 letras).

un ejemplo

$cad = XXX; //lees la frase
if (strlen($cad) &gt; 30){ // si es muy larga
$cad = substr($cad,0,27).&quot;...&quot;; // armamos
}
echo &quot;&lt;td&gt;$cad&lt;/td&gt;&quot;;

espero que te haya servido de algo, jeje suerte..
  #5 (permalink)  
Antiguo 22/01/2002, 18:06
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 15
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: como cortar palabras?

Saludos de nuevo

Gracias por sus respuestas, pero lo que estoy haciendo es para la muestra de comentarios, del comentario completo.

Estoy intentando usar la funcion wordwrap(), pero no me conseguido ningun resultado, mas que nada es que no me modifica nada. La uso de esta manera:

$textonuevo = $row[&quot;texto&quot;];
$textonuevo = wordwrap($textonuevo,25);


Si alguien sabe como funciona correctamente le agradeceria que me lo digese porque en el manual no es muy explicito.

Gracias.

<STYLE>.ch{text-decoration: none; font: bold 8pt verdana; color: white; background-color: black;}</STYLE><TABLE width=100% cellpadding=0 cellspacing=0><TR><TD class=ch> þøWê®êРߥ [¢H®¥ø] - Wêß µñÐꮢøñ§T®µ¢Tîøñ</TD></TR></TABLE>
  #6 (permalink)  
Antiguo 23/01/2002, 08:30
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 4 meses
Puntos: 69
Re: como cortar palabras?

[chryo], por el contrario, el manual es MUY explícito en cuánto al funcionamiento de la función. Te dije en mi mensaje anterior, que solo lo podía ayudarte la función wordwrap() si la utilizas con sus 4 parámetros.

Ejemplo sacado del mismo manual del PHP:
&lt;?php
$text = &quot;A very long woooooooooooord.&quot;;
$newtext = wordwrap( $text, 8, &quot;\n&quot;, 1);
echo &quot;$newtext\n&quot;;
?&gt;

ESte ejemplo mostrará:
A very
long
wooooooo
ooooord.

Muchachos, no esperemos todo servido en bandeja y predigerido. Tengamos un poco de ganas de probar las cosas nosotros mismos.

Suerte.



<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #7 (permalink)  
Antiguo 23/01/2002, 17:10
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: como cortar palabras?

Aqui esta. Comprobado por mi:

&lt;?php
function corte($cuerpo, $id)
{
if (empty($cuerpo)) {
return &quot;&quot;;
}
else if (strlen($cuerpo)&gt;11)
{

return (substr($cuerpo,0,8).&quot;...&lt;br&gt;&quot;.$id .&quot; Blabla&quot;);
}
else
{
return $cuerpo;
}
}
$cuerpo = mysql_result($result, 0, &quot;cuerpo&quot;);
$id = mysql_result($result, 0, &quot;id&quot;);
$cuerpo = corte($cuerpo, $id);
echo $cuerpo;
?&gt;
Se supone que lo que cortas es el cuerpo, y si tambien quieres mostrar el id ahi lo tienes ;)

Byez & GooD Byez
El Menda no te ayuda
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 23:46.