En mi proyecto php tengo un valor que contiene charectors especiales como "," etc. ("5" pulgadas, "3.5" pulgadas, etc.). Pero no aparece en un campo de texto. este es posible mostrar este valor en un cuadro de texto ¿Alguien me ayude ...Campo de entrada que contiene el valor de comillas dobles
Respuesta
uso htmlentities:??
<input value="<?php echo htmlentities($value);?>">
supongo que su "cuadro de texto" es un elemento HTML <input>
Si es así, lo está mostrando usando algo como esto:
echo '<input name="..." value="' . $yourValue . '" />';
Si es el caso, tiene que escapar del HTML que está contenida en la variable, con htmlspecialchars
:
echo '<input name="..." value="' . htmlspecialchars($yourValue) . '" />';
Tenga en cuenta que puede que tenga que añadir un par de parámetros, especialmente a especifica la codificación que estás usando.
De esta manera, teniendo en cuenta $yourValue
se ha inicializado como esto:
$yourValue = '5 " inches';
que obtendrá de este genera HTML:
<input name="..." value="5 " inches" />
Para que uno, que funciona mucho mejor:
<input name="..." value="5 " inches" />
Entonces, ¿qué sucede cuando envía ese campo de entrada? ¿Entrará en una base de datos como " y luego tendrá que convertirlo a otro lugar? ¿Qué sucede si desea enviarlo con la comilla doble real en él? – mikato
+1 por ser más descriptivo, mencionando la codificación y dado que 'htmlspecialchars()' es suficiente. – DanMan
Probar esto
echo '<input name="..." value="' . htmlspecialchars(stripslashes($yourValue)) . '" />';
o
<input name="..." value="<?php echo htmlspecialchars(stripslashes($value)); ?>">
Buena suerte;)
Cuando se utiliza juego de caracteres UTF-8, utilizo el código de abajo para conseguir Iñtërnâtiônàlizætiøn y dobles (o única) cita a derecha:
<input type="text" name="title" value="<?php echo htmlentities(stripslashes(utf8_decode($title))); ?>" />
ps: esto es útil después de que alguien envió el formulario, pero cuando la entrada no está validada.
Prefiero usar 'stripcslashes()' para conservar las líneas de cambio. – Raptor
Esto es un poco viejo pero lo encontré, así que pensé en contribuir con lo que aprendí.
He encontrado si tiene comillas dobles en una variable en javascript (de AJAX/base de datos) y quiere ponerlo en un campo - si construye todo el campo/formulario html y luego lo cambia a un div usando innerHTML, las comillas dobles en el valor causarán problemas. Estaba haciendo esto y no pude encontrar una forma de escapar escapándome.
Debe construir el html con el campo y cambiarlo primero, luego hacer un document.getElementById ('myfieldid'). Value = thevalue; en su lugar y funciona bien.
Para una solución de Javascript, esto funcionó y me sacó de aprietos. Nadie mencionó que este hilo debía estar en PHP. Así que te quité tu -1. :) Gracias por resolver esto. De lo contrario, me habría llevado toda la noche arreglar un error. – Paul
Gracias :) Era un problema extraño y no podía creer que escapar no funcionara. Es bueno saber que ayudó, y que no soy el único que tuvo este dolor de un problema. – mikato
Personnaly Yo uso este truco:
$s = str_replace("& amp ;", "&", (htmlentities(stripslashes($s), ENT_QUOTES, 'UTF-8')));
que necesitaba para aplicar htmlspecialcars()
para consultar matriz resultante.Encontré a useful solution from here (vea el comentario de sean).
//create a cleaning function
function _clean(&$value) {
$value = htmlspecialchars($value);
//$value = htmlspecialchars($value, ENT_QUOTES);//alternative
}
//fetch the data from DB somehow (sqlQ is a custom function)
$q = "...";
$r = $d->sqlQ($q);
$row = mysqli_fetch_array($r,MYSQLI_ASSOC);
//...call the function recursively (not always necessary) to the resultset row
array_walk_recursive($row, '_clean');
Se hace un trabajo innecesario bastante poco si solamente sacan algunas columnas de texto, pero al menos no es necesario escribir la función htmlspecialchars()
con el formato HTML varias veces.
Para UTF-8 Fui por htmlspecialchars($value, ENT_QUOTES, "UTF-8")
que funcionó.
- 1. XSLT comillas simples y dobles en el atributo de valor de entrada de formulario?
- 2. El uso de comillas dobles en un valor 'input type =' text '' no funciona, ¡la cadena se detiene en comillas dobles!
- 3. escape "comillas dobles" en el interior de la entrada del lote de parámetros
- 4. Regex.Matches C# comillas dobles
- 5. ¿JSON.parse() requiere comillas dobles?
- 6. Javascript: Escape de comillas dobles en HTML
- 7. comillas dobles vs comillas simples en JavaScript
- 8. comillas dobles en json devuelto
- 9. Manejo de comillas dobles en mailto:
- 10. Eliminar comillas dobles de la cadena
- 11. campo de entrada de autocompletar con el valor de otro campo de entrada
- 12. ¿Cómo mostrar un texto en XAML que contiene comillas dobles e individuales?
- 13. Cómo escapar comillas dobles en el atributo de título
- 14. Comillas dobles en el argumento VBScript
- 15. escapar comillas dobles en Java
- 16. comillas simples y dobles php
- 17. Reemplazar todas las comillas dobles dentro de String
- 18. ¿Cómo puedo insertar comillas dobles (") en el campo Varchar base de datos SQLite
- 19. json error de análisis con comillas dobles
- 20. Python - comillas dobles de escape utilizando string.replace
- 21. ASP - Quitar comillas dobles de una cadena
- 22. comillas dobles de escape en grep
- 23. Variables estáticas PHP en comillas dobles
- 24. Expresión regular que coincide entre comillas, que contiene citas escapadas
- 25. Cómo leer el texto entre comillas que contiene citas escapadas
- 26. JQuery: Cambiar el valor del campo de entrada oculto
- 27. jQuery Facebox: envía el valor del campo de entrada vacío
- 28. Almacenar cadena JSON en el valor del campo de entrada
- 29. conjunto de valores de var valor del campo de entrada
- 30. Diferencia entre comillas simples y comillas dobles en Javascript
¿Qué sucede si desea guardar estos valores no codificados en la base de datos? Tienes que aplicar cada vez 'html_entity_decode();' antes de hacer el SQL INSERT? Eso no suena bien – dynamic
yes123, no, no lo haces. Esta codificación asegurará que los valores sean correctos en el documento HTML. El navegador web lo enviará automáticamente en el formato correcto y normal. –
¡Tienes razón! Me he perdido ese – dynamic