Foros del Web » Programando para Internet » PHP »

Me corta el texto en un campo, si el campo lleva comillas dobles

Estas en el tema de Me corta el texto en un campo, si el campo lleva comillas dobles en el foro de PHP en Foros del Web. Hola a todos! Soy bastante novato, así que supongo que será algo básico... Tengo un campo de un formulario. Este campo se rellena a partir ...
  #1 (permalink)  
Antiguo 11/02/2011, 11:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 9 meses
Puntos: 4
Me corta el texto en un campo, si el campo lleva comillas dobles

Hola a todos! Soy bastante novato, así que supongo que será algo básico... Tengo un campo de un formulario. Este campo se rellena a partir de base de datos. Lo tengo montado así:

<input type="text" id="txt_com" name="txt_com" value="<? echo $v_valor; ?>">

v_valor es una variable PHP que toma su valor de un campo de base de datos. No hay problema, va bien. El problema lo tengo si el contenido de v_valor lleva comillas dobles. Es lógico, si por ejemplo la variable v_valor tiene el siguiente valor: el valor lleva comillas" por lo tanto se corta

El código HTML generado sería:

<input type="text" id="txt_com" name="txt_com" value="el valor lleva comillas" por lo tanto se corta">

Y por lo tanto es lógico que se corte, y sólo muestre "el valor lleva comillas". ¿Hay alguna manera ( o función ) de decirle que quiero mostrar el contenido de la variable tal cual? Es que no me gustaría tener que manipular la variable ( reemplazando " por ' por ejemplo ).

Gracias de antemano.
  #2 (permalink)  
Antiguo 11/02/2011, 12:02
Avatar de saseisa  
Fecha de Ingreso: agosto-2006
Mensajes: 329
Antigüedad: 18 años, 2 meses
Puntos: 9
Respuesta: Me corta el texto en un campo, si el campo lleva comillas dobles

podrias utilizar esto
<input name="txt_com" type="text" id="txt_com" value="el valor lleva comillas &quot; por lo tanto se corta"
  #3 (permalink)  
Antiguo 11/02/2011, 12:03
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Me corta el texto en un campo, si el campo lleva comillas dobles

Y si...... hacer un metodo que te rremplace todos los caracteres especiales por su correspondiente &.....;
  #4 (permalink)  
Antiguo 11/02/2011, 12:05
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 3 meses
Puntos: 103
Respuesta: Me corta el texto en un campo, si el campo lleva comillas dobles

fijate si asi funciona
Cita:
<input type="text" id="txt_com" name="txt_com" value="<? echo str_replace("\"", "'",$v_valor); ?>">
  #5 (permalink)  
Antiguo 11/02/2011, 12:06
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Me corta el texto en un campo, si el campo lleva comillas dobles

me pillaste, pero .... son realmente necesarias las "", por que de no ser asi simplemente las podrias bloquear mediante una funcion Js.
  #6 (permalink)  
Antiguo 11/02/2011, 12:28
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Me corta el texto en un campo, si el campo lleva comillas dobles

Revisa esta función: htmlspecialchars()

http://www.php.net/manual/es/function.htmlspecialchars.php

y esta otra:

http://www.php.net/manual/en/function.htmlentities.php
  #7 (permalink)  
Antiguo 11/02/2011, 13:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Me corta el texto en un campo, si el campo lleva comillas dobles

Estupendo!!!!!!! La verdad que todas las respuestas son válidas! Finalmente he optado por hacer un str_replace. Como decía un compañero, reemplazo los carácteres conflictivos por su traducción ( &... ) Y va perfectamente. La función htmlspecialchars me da la sensación que también traduce tags HTMLS etc... en este caso, sólo se trata de texto. No hay HTML por medio. Pero me va genial tenerlo en cuenta!

Muchas gracias!!

Etiquetas: comillas, corta, dobles, campos
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:14.