Saltar al contenido

PHP json_encode datos con comillas dobles

Deseamos enseñarte la mejor respuesta que descubrimos por todo internet. Deseamos que te sirva de ayuda y si deseas comentarnos alguna mejora hazlo con libertad.

Solución:

Necesitará htmlspecialchars en vez de stripslashes con la codificación adecuada (UTF-8, si su página usa el juego de caracteres UTF-8) y ENT_QUOTES que escapará de las comillas dobles para evitar que los datos se rompan. Vea el código a continuación:

echo htmlspecialchars(json_encode($data), ENT_QUOTES, 'UTF-8');

json_encode ya se encarga de esto, estás rompiendo el resultado llamando stripslashes:

echo json_encode($data); //properly formed json

Ejemplo con un sencillo array con double quotes string valor.

$yourArr = array(
    'title' => 'This is an example with "double quote" check it'
);

// add htmlspecialchars as UTF-8 after encoded
$encodeData = htmlspecialchars(json_encode($yourArr), ENT_QUOTES, 'UTF-8');

echo $encodeData;

Resultado:

"title":"This is an example with "double quote" check it"

De acuerdo con el manual de PHP:

Dicho esto, las comillas ” producirán JSON no válido, pero esto solo es un problema si está usando json_encode() y solo espera que PHP escape mágicamente de sus comillas. Debe escapar usted mismo.

Si guardas algún reparo o disposición de medrar nuestro crónica puedes ejecutar un paráfrasis y con gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *