Invertir el efecto de `mysqli_real_escape_string`
Estoy trabajando en una aplicación donde el usuario puede crear plantillas HTML y guardarlas en la base de datos. Las plantillas constan de diferentes componentes como texto, imagen, etc. Cuando intento guardar el texto con unaapóstrofe '
me damysql_error
(obviamente). Así que lo intentémysqli_real_escape_strings
para anularlo. Funcionó, pero quiero recuperar el contenido guardado parapropósito de edición y los apóstrofes se escapan utilizando\
(barras). Por lo tanto, el contenido se modifica internamente y ya no es un html válido para editar y el navegador produce un error de sintaxis.
También traté de buscar otras funciones para escapar y encontréjson_encode
pero eso no es aceptado por mysql.
¿Puede alguien indicarme alguna función que haga esto en PHP? Por favor, sugiera cualquier función que realice la tarea por mí.
Actualizar:
function saveContent(){
var $getContent = $('#mainWrap').clone();
$getContent.find('.textBox, .pictureBox').removeAttr('id');
var saveContent = $getContent.wrap('<div></div>').html();
console.log(saveContent);
var getBodyStyle=$('body').attr('style');
console.log('this is body style'+getBodyStyle);
var auto="auto";
$.ajax({
url:"auto_save.php",
type:"POST",
dataType:"text",
//data:"txtComp="+saveContent+"&auto="+auto+"&pageId="+pageId+"&webId="+webId+"&userId="+userId+"&bodyStyle="+getBodyStyle,
data: {txtComp: saveContent, auto: auto, pageId: pageId,webId:webId,userId:userId,bodyStyle:getBodyStyle}
});
}
Agrego elmysql_real_escape_string
en miauto_save.php
. Ahora, cuando lo recupero de la base de datos, tengo que pasarlo a una variable de javascript como esta.
var getSavedContent = <?php echo json_encode($IdLessContent); ?>;
¿Puede eso ser un problema?