Foros del Web » Programando para Internet » PHP »

Tratamiento Textarea

Estas en el tema de Tratamiento Textarea en el foro de PHP en Foros del Web. Buenas. Mi pregunta es.. ¿Tiene un textarea algun tipo de tratamiento especial a la hora de insertar o leer en una BD?, teniendo en cuenta ...
  #1 (permalink)  
Antiguo 05/03/2006, 13:57
Avatar de keroveros  
Fecha de Ingreso: febrero-2006
Mensajes: 55
Antigüedad: 11 años, 10 meses
Puntos: 0
Tratamiento Textarea

Buenas.

Mi pregunta es.. ¿Tiene un textarea algun tipo de tratamiento especial a la hora de insertar o leer en una BD?, teniendo en cuenta que el campo en el que lo voy a insertar es de tipo mediumblob.

Me estoy rompiendo la cabeza ya.

Ayuda plz!

Gracias de antemano & Salu2
  #2 (permalink)  
Antiguo 06/03/2006, 01:31
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 13 años, 6 meses
Puntos: 0
En un principio no tendrias que tener ningun problema, pero siendo un textarea te recomiendo que el campo a usar en la base de datos sea memo o text dependiendo de la cantidad de texto que quieras dejar introducir al navegante de tu web.
__________________
Un saludo, MeXiCaN :golpeado: :adios:

Poco es tanto, cuando poco necesitas. E.Bunbury

Siempre que haya una causa noble por la que luchar, siempre habrá ladrones que la apoyarán.
  #3 (permalink)  
Antiguo 06/03/2006, 08:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por keroveros
Buenas.

Mi pregunta es.. ¿Tiene un textarea algun tipo de tratamiento especial a la hora de insertar o leer en una BD?, teniendo en cuenta que el campo en el que lo voy a insertar es de tipo mediumblob.

Me estoy rompiendo la cabeza ya.

Ayuda plz!

Gracias de antemano & Salu2
Pero que problema -concreto- tienes?

¿Tal vez con saltos de línea? (que todo te queda en una línea pese que tu lo ingresastes en várias con sus "ENTER" por médio?).?

Un saludo,
  #4 (permalink)  
Antiguo 10/03/2006, 09:46
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 12 años, 6 meses
Puntos: 2
eh Cluster yo tengo ese problema, al tratar de mostrarlos en una vista previa me muestra todo en una sola linea a pesar de que el usuario lo ingresa con sus "enter" y todo.
  #5 (permalink)  
Antiguo 10/03/2006, 13:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa nlr2br()

www.php.net/nl2br

Aplicado al dato que obtienes de tu consulta SQL (cuando lo presentas en tu página HTML).

El "textarea" origina un "enter" un código de salto de línea tipo: \n o \r o \r\n y como veras eso no es un salto de línea para HTML que es su <br>

Un saludo,
  #6 (permalink)  
Antiguo 10/03/2006, 18:02
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Cluster.... una duda

En un caso estoy tratando de eliminar unos saltos... que hice, para llenar el campo de la BD lo hice a traves de un formulario con un textarea, posteriormente en otro script leo el campo y trato de eiminar los saltos ( colocar una secuencia de caracteres ). Pero....

He tratado

1. Aplicar (nl2br) para eliminar los saltos con un explode de <br /> y me mantiene los saltos ( por cierto la forma mas manual que conozco )

2. Aplicar la funcion trim y nada

3. Intente con el htmlspecialchars a ver sime aparecia algo diferente y solo me mostraba los saltos de "br"

4. Meti un wordwrap a ver si partiendo la cadena eliminaba ese salto y nada

Para que lo quiero.... en javascript inserto un codigo php para leer el valor de la informacion de la base de dato ( Noticias ) y seleciono los 80 primeros caracteres del detalle de la noticia para mostrarlo en una marquesina, pero en javascript estos datos los coloco en un arreglo del tipo

texto[0]="texto texto texto.... etc";
texto[1]="texto texto texto.... etc";
texto[2]="texto texto texto.... etc";
\n
Que esta haciendo, aun cuando he probado con las anteriores opciones

texto[0]="texto
texto
texto.... etc";
texto[1]="texto texto texto.... etc";
texto[2]="texto texto texto.... etc";

Aun cuando ya he eliminado los saltos.... como detecto que otra cosas puede estar oculta alli, por cuanto cuando leo el registro este viene sin los "\n" muestra los <br /> cuando le doy nl2br

Una luz please....

Saludos y Gracias

Frank Gonzalez
  #7 (permalink)  
Antiguo 11/03/2006, 06:03
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Resuelto......

colocando un array

$protect = array(
"<" => "&lt;",
">" => "&gt;",
"&" => "&amp;",
"\"" => "&quot;",
"'" => "'",
"\n" => " ",
"\t" => " ",
"\r" => " ",
"\0" => " ",
"\x0B" => ""
);

y luego

$texto_largo = strtr($row[detalle],$protect);

Saludos...

Frank
  #8 (permalink)  
Antiguo 13/03/2006, 06:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mmm .. Esta parte de sustituciones:

$protect = array(
"<" => "&lt;",
">" => "&gt;",
"&" => "&amp;",
"\"" => "&quot;",

Lo hace la función htmlentities() usala mejor.

Un saludo,
  #9 (permalink)  
Antiguo 13/03/2006, 07:08
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Cierto.... ya la habia probado... pero yo no lograba identificar que ocasionaba el salto, entonces tome eso de los coments de la strtr

Gracias

Frank
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 11:29.