Foros del Web » Programando para Internet » PHP »

loguitud en text area

Estas en el tema de loguitud en text area en el foro de PHP en Foros del Web. bueno ya os dejo otra pregunta soy un poco pesado pero por mas que leo mas dudas me salen.... bueno mi pregunta es pudeo controlar ...
  #1 (permalink)  
Antiguo 12/03/2003, 04:05
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
loguitud en text area

bueno ya os dejo otra pregunta soy un poco pesado pero por mas que leo mas dudas me salen....

bueno mi pregunta es pudeo controlar el largo de un campo text me explico mi problema es que en el envio de noticias utilizo una tabla dinamica (en tamaño) para el campo de texto largo que se introduce mediante un textarea y se guarda en Bd en un campo text bueno pues lo que quiero es que si yo escribo en el textarea un texto de 85 caracteres sin ningun retorno de carro que llegado a 70 caracteres en la bd se guarde 70 <br> y depues los 15 caracteres restantes

bueno gracias

Un Saludo
  #2 (permalink)  
Antiguo 12/03/2003, 05:02
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
Utiliza strlen()
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 12/03/2003, 05:42
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
pero con strlen lo que obtendre sera el largo de la cadena es decir el numero de caracteres de el texto insertadoen el textarea y entonces siempre me puede salir que es mayor de 70 yo lo que quiero es que si dentro de la cadena del textarea hay mas de 70 caracteres seguidos sin un retorno de corro ponerlo antes de guardar en la base de datos

Un Saludo
  #4 (permalink)  
Antiguo 12/03/2003, 05:45
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
Ejemplo:

Código PHP:
if (strlen($cadena) > 70) {$cadena2 substr($cadena070)."<br>".substr($cadena70)} 
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 12/03/2003, 06:07
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
ok probe con esa pero el problema es que con el codigo que tu pusite solo mira la primera linea y yo necesito que recorra todas las lineas pro que a lo mejor en la primera hay 30 en la segunda 85 y en la tercera 10 y enla cuerta 200

Un Saludo
  #6 (permalink)  
Antiguo 12/03/2003, 06:14
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
vamos lo puse mal no la primera linea sino al primero que se encuentra con mas de 70

Un Saludo
  #7 (permalink)  
Antiguo 12/03/2003, 06:18
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
No comprendo lo que quieres decir
__________________
M a l d i t o F r i k i
  #8 (permalink)  
Antiguo 12/03/2003, 06:25
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
imagina un textarea como el de insercion de este foro un usuario pone esto
linea 1 = 12345678901234567890123456789012345678901234567890 123456789012345678901

linea 2 = 1234567890123456789012345678901234567890

linea 3 = 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890

si te fijas con el codigo que tu me pusite solo lo hara en la linea uno y la 3 la dejara tal y como esta yo lo que quiero es que este metido dentro de un bucle para que lo haga tantas veces como necesito pero no se hacerlo me dice qu ese agoto el tiempo y da un error

no se si me explique bien

Un Saludo
  #9 (permalink)  
Antiguo 12/03/2003, 06:33
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
A ver, cuando el textarea pasa de una página a otra, no lo hace por líneas sino en bloque. Si quieres tratar cada línea por separada, pásalo a un array utilizando:

$cadena2 = explode("\n", $cadena);

Y luego utiliza el código para cada porción del array.
__________________
M a l d i t o F r i k i
  #10 (permalink)  
Antiguo 12/03/2003, 09:17
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
lo siento pero no me entero hoy me parece queno he dormido bien...
  #11 (permalink)  
Antiguo 12/03/2003, 10:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Solo una acotación ..

$cadena2[0] contiene la primera línea,
$cadena2[1] contiene la segunda línea,

Sería mas bien "parrafo" entendiendose como parrafo a un "punto y aparte" ... o dicho en "informática" a un \n (que lo probaca un "intro" por ejemplo en un texarea)

Por cierto .. hay una funcioncita .. una tal

wordwrap()
http://www.php.net/manual/en/function.wordwrap.php

Revisalo ..DINASEN

Un saludo,
  #12 (permalink)  
Antiguo 12/03/2003, 11:35
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
bueo al final ya salio con el wordwarp pero lo dejare tal y como lo tenia por que si me pilla en medio de una imagen o algo se rompe el enalce




PD : ya le sace partido para otra cosa

Gracias por vuestro tiempo un saludo
  #13 (permalink)  
Antiguo 12/03/2003, 11:37
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 8 meses
Puntos: 10
pues tu problema es mucho mas facil de solucionar, para ello solo debes poner un atributo mas tu campo HTML que es el de text area, queadria asi

<textarea maxlength=70></textarea>
__________________
se despide hasta la proxima
Gonzalo Castillo
  #14 (permalink)  
Antiguo 12/03/2003, 11:41
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
no cluster eso no serviria ya que el tamaño del texto me da igual el problema viene en el largo de las distintas lineas que se metan en el textarea no su tamaño final


Un Saludo
  #15 (permalink)  
Antiguo 12/03/2003, 11:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
<textarea maxlength=70></textarea>

funciona?

me parece a mi q el maxlength solo es valido en campos <input> .. Pero eso ya es cosa de un manual de HTML ..

Un saludo,
  #16 (permalink)  
Antiguo 12/03/2003, 11:48
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 8 meses
Puntos: 10
en realidad puede que tengas razon, pero seria cosa de probra no
__________________
se despide hasta la proxima
Gonzalo Castillo
  #17 (permalink)  
Antiguo 12/03/2003, 12:02
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
jejejejeje no tiene un textarea no tiene max


perdon por que antes puse cluster y no era el sino goncafa


Un Saludo
  #18 (permalink)  
Antiguo 12/03/2003, 12:05
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 2 meses
Puntos: 17
Una vez tienes $cadena2 como array....

Código PHP:
<?
for ($i=0$i<count($cadena2); $i++){
if (
strlen($cadena2[$i]) > 70) {$cadena3 .= substr($cadena2[$i], 070)."<br>".substr($cadena2[$i], 70)}
else {
$cadena3 .= $cadena2[$i]}
$cadena3 .= "\n";
}
?>
__________________
M a l d i t o F r i k i
  #19 (permalink)  
Antiguo 12/03/2003, 14:58
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años
Puntos: 0
solamente una cosita al margen con respecto a HTML que yo también andaba con esto, los <textarea> tienen una forma de controlar los saltos de línea. Yo pensaba que era estándar pero hace unos días había leído que era una extensión de Netscape, sin embargo me parece que el MSIE lo soporta también, parece ser una extensión incorporada por MSIE también:

<textarea etc wrap="off|virtual|physical|hard|soft">

más información sobre esto encontré recién en un artículo que lamentablemente está en inglés, me lo dio Google y está bueno, porque tiene que podés ver cómo resulta el texto que introduces con las diferentes opciones.

por este link vi que había también "hard" y "soft", pero los más usados son "virtual" y "physical". Yo pensaba que el defecto era "virtual" pero según ese link, el defecto es "off" (al menos eso entendí).

al que le interese le recomiendo que vea el link, porque es un poco confuso todo :-p . lo que saqué en limpio es que si usás "hard", los saltos de línea virtuales, que se hacen para acomodar el texto a la textarea, se agregan realmente al ser enviados al server (con muchos saltos).
"off" al escribir, el texto no se ajusta automáticamente al ancho de la textarea. esto no afecta la forma en que el texto es enviado al server. En Nestcape/Mozilla/Opera no tiene efecto visualmente al escribir. "virtual" = éste es el que más se usa, y el más recomendable. Lo que sucede es que al escribir, el texto se acomoda automáticamente al textarea pero se envia tal como el usuario uso los "\n". "soft" es lo mismo que éste parece, el link no recomienda usarlo. "physical" no sé que diferencia agrega pero el link no recomienda usarlo...

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
  #20 (permalink)  
Antiguo 13/03/2003, 02:31
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años
Puntos: 1
ok muchas gracias a todos

muy bueno el articulo


Un Saludo


Última edición por DINASEN; 13/03/2003 a las 02:43
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:02.