2011-02-16 50 views

Respuesta

16

htmlentites

Esta función es idéntica a htmlspecialchars() en todos los sentidos, excepto con htmlentites(), todos los caracteres que tienen HTML equivalentes a entidades de caracteres se traducen en estas entidades.

Si quiere decodificar (al revés) puede usar html_entity_decode().

Ejemplo:

echo htmlentities("&"); // & 

si su hacer directamente en el navegador debe ser capaz de usar:

encodeURIComponent(string input); 

Ejemplo:

encodeURIComponent($.trim($("input[name=t-tim_rendered-"+id+"]").val().toString())); 
+0

¡He intentado encodeURIComponent y funciona! ¡Muchas gracias! – jameserie

+0

Su bienvenida. :) – RobertPitt

3

Si pasa su data parámetro como un objeto de Javascript, será co invierta los caracteres por usted (y la IMO haga que el código parezca más ordenado). Por lo que debe cambiar su llamada $ .ajax a lo siguiente:

data: {"user_id": user_id, "time_r": time_r, "task_d": task_d, "p_id": p_id, "df": finished}, 
4

Puede utilizar un escape Javascript función nativa()

En la línea 74

data: : "&task_d=" + escape(task_d) + "" 

Como alternativa, puede incluir su consultar valores de cadena entre comillas

data: : "&task_d='" + task_d + "'" 
+0

¡Gracias! Esto resolvió mi problema, que era similar a la pregunta original. – Hunnenkoenig

7

He estado teniendo un gran problema exactamente con esto ación.

Esto es tan solo para decir que la última respuesta de Andrew Koester es la respuesta perfecta que estaba buscando.

En caso de que están pasando varias entradas desde un formulario de jQuery a PHP a través de la .ajax() llaman así:

datos: "name =" + nombre + "& mensaje =" + + message. ..

NO USE ESTE MÉTODO, se bloqueará el carácter & amp; ampersand (&) de carácter escrito por el usuario en cualquiera de los campos de entrada de su formulario.

Uso éste lugar según lo sugerido por Andrew:

datos: { "name": nombre, "e-mail": correo electrónico, "sujeto": tema, "comentarios": comentarios},

Este forma en que el usuario puede escribir cualquier tipo de personaje especial sin preocuparse por el conflicto con la declaración de Ajax.

1

Puede usar 'encodeURIComponent' para lograr la codificación URL para ese componente. Lo usé y validé con los navegadores IE, Firefox y Chrome.

+0

La pregunta es muy antigua y esto no aporta nada nuevo para resolver el problema. En su lugar, debería considerar escribir un comentario o simplemente votar por encima cuando se le permita hacerlo. – Theolodis

Cuestiones relacionadas