Foros del Web » Programando para Internet » PHP »

Se puede limitar el largo de una palabra mediante php..?

Estas en el tema de Se puede limitar el largo de una palabra mediante php..? en el foro de PHP en Foros del Web. Hola foreros! Tengo en una tabla de ancho=x los nombres de personas que se toman de una base de batos. Todo anda bien pero el ...
  #1 (permalink)  
Antiguo 08/03/2003, 01:30
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Se puede limitar el largo de una palabra mediante php..?

Hola foreros!

Tengo en una tabla de ancho=x los nombres de personas que se toman de una base de batos.
Todo anda bien pero el problema es cuando los nombres tienen demasiados caracteres , y me deforma la tabla y en si toda la pagina, no se si me explico...

Por ejemplo: consulto x persona:

juan elapellido

se puede hacer haci: juan el...

Saben alguna forma de limitar los caracteres?

El codigo que utilizo para consultar es:

//////////////////////////////////////////////////

$link = mysql_connect('server','x','x') or die("No pudo conectar");
$huboerror = mysql_select_db("db",$link) or die("No se encuentra la base usuarios");

$response = mysql_query("select * from persona", $link);
while($row = mysql_fetch_array($response)){
print($row["nombres"]);
}

//////////////////////////////////////////////////

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 08/03/2003, 01:46
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 10 meses
Puntos: 1
$nombre = substr($row['nombres'], 0, 15);
echo $nombre;

Acá tenes lo que dice la documentacion sobre la funcion

Saludos.

Última edición por ||Dj||; 08/03/2003 a las 01:48
  #3 (permalink)  
Antiguo 08/03/2003, 02:19
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 14 años, 10 meses
Puntos: 1
Hola de nuevo yo. que hincha no!

Buscando por los foros encontre este tema http://www.forosdelweb.com/showthrea...hlight=limitar
donde el amigo Cluster dijo un codigo que hace lo que necesito. (limitar caracteres)

El codigo que dijo Cluster es:

Cita:
function corte_string($str,$cuanto)
{
if (empty($str))
{
return "";
}
else if (strlen($str)>$cuanto)
{
return (substr($str,0,($cuanto-4))." ...");
}
else
{
return $str;
}
}


Se usa:
$variable=corte_string($variable,30);
Pero no se como se emplea. Que tengo que modificar?

Ayuda por favor
  #4 (permalink)  
Antiguo 08/03/2003, 02:26
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Pos facil pones la funcion de Cluster y luego


Código PHP:


function corte_string($str,$cuanto) { 
if (empty(
$str)) { 
return 
""

else if (
strlen($str)>$cuanto) { 
return (
substr($str,0,($cuanto-4))." ...");

else { 
return 
$str

}

print(
corte_string($row["nombres"],30)); 
  #5 (permalink)  
Antiguo 08/03/2003, 04:26
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 14 años, 10 meses
Puntos: 1
Gracias DJ pude limitar los caracteres haci:

print(
substr($row['Term'], 0, 7) ."...");
}

Pero como hago para ponerle "..." a las palabras cortadas y no a todos los datos que devuelve?

En el link que me dio DJ encontre esto :

$maxTextLenght=125;
$aspace=" ";
if(strlen($text) > $maxTextLenght ) {
$text = substr(trim($text),0,$maxTextLenght);
$text = substr($text,0,strlen($text)-strpos(strrev($text),$aspace));
$text = $text.'...';
}

pero no se como adaptarlo, mil disculpas por mi iJJnoranSSia

---------------------------------------------------------------------------------

Urjose me da error el codigo me dice:

Fatal error: Cannot redeclare corte_string() (previously declared in c:\apache\htdocs\prueba.php:9) in c:\apache\htdocs\prueba.php on line 9


El codigo php que me da error:

////////////////////////////////////////////////////////////
<?php

$link = mysql_connect('server','x','x') or die("No pudo conectar");
$huboerror = mysql_select_db("db",$link) or die("No se encuentra la base usuarios");

$response = mysql_query("select * from persona", $link);
while($row = mysql_fetch_array($response)){

function corte_string($str,$cuanto) {
if (empty($str)) {
return "";
}
else if (strlen($str)>$cuanto) {
return (substr($str,0,($cuanto-4))." ...");
}
else {
return $str;
}
}

print(corte_string($row["nombres"],30));

}

?>
////////////////////////////////////////////////////////////

Bueno espero no ser muy pesado.
  #6 (permalink)  
Antiguo 08/03/2003, 10:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ramos Mejia

Deberias revisar lo que una "función" .. Las funciones se "declaran" una vez al principio de tu codigo normalmente y las llamas cuando las necesitas pasandole los parámetros que requiera y esperando los dtos q de de salida .. Si metes la declaración de una función en un BUCLE es normal que te dé ese error de que la función ya ha sido declarada ...

Código PHP:
<?php
function corte_string($str,$cuanto) { 
   if (empty(
$str)) { 
      return 
""
   } else if (
strlen($str)>$cuanto) { 
       return (
substr($str,0,($cuanto-4))." ...");
   } else { 
      return 
$str
   } 
}


$link mysql_connect('server','x','x') or die("No pudo conectar");
$huboerror mysql_select_db("db",$link) or die("No se encuentra la base usuarios");

$response mysql_query("select * from persona"$link);
while(
$row mysql_fetch_array($response)){

print(
corte_string($row["nombres"],30));

}

?>
  #7 (permalink)  
Antiguo 08/03/2003, 16:22
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 14 años, 10 meses
Puntos: 1
Gracias Cluster y a los demas foreros ahora funciona muy bien.

Saludos
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 13:03.