Buenas a todos, les muestro mi script y luego les explico:
Código PHP:
//Tomo el campo POST des_baj, le quito los tags HTML
// y paso sus caracteres a códico HTML.
$des_baj = htmlentities(strip_tags($_POST['des_baj']));
//los chars [ los convierto en >
$des_baj = str_replace("[", "<", $des_baj);
//los chars ] los convierto en <
$des_baj = str_replace("]", ">", $des_baj);
//los chars | los convierto en "
$des_baj = str_replace("|", "\"", $des_baj);
//y ahora escapo los caracteres para que sean seguros al MySQL
$des_baj = mysql_real_escape_string($des_baj);
Aclaración: los chars [, ] y | los uso para poder incluir tags HTML y que los símbolos <, > y " no sean pasados a código por el htmlentities.
Bien, el tema es que si miro el MySQL para ver el registro que creé encuentro lo siguiente:
\"comillas\" html y "comillas de verdad"
cuando en realidad yo ingresé en el formulario:
"comillas" html y |comillas de verdad|.
qué puede andar fallando?? porqué escapa los " y no las " verdaderas??
espero su ayuda