Comillas simples a imprimir en div

Hola. Tengo un problema: en un campo de la base de datos hay un texto con comillas simples, por ejemplo el pueblo de L' Ametlla del Valles ... El problema, es que cuando dicho texto se vuelca en un <input type='text' ...> no hay problema, pero si lo pongo en un div, no se visualiza correctamente, se visualiza el carácter de escape \'

echo "<div ...>" . $registro("poblacion") . "</div>";

Esto retornaría L\' Ametlla del Valles, que en principio es "correcto" ya que es lo que hay en la base de datos, pero no es lo que introdujo el usuario. He tratado de que se visualizara correctamente con utf8_encode, con stripslashes, con htmlspecialchars, pero no hay manera sigue saliendo con la secuencia de escape.

¿Alguna idea?

Gracias.

1 Respuesta

Respuesta
1

No estoy muy seguro de que estés grabando correctamente la comilla, pues la comilla se escapa para sql pero el motor de sql la debería "desescapar" y grabar correctamente la cadena, no con la comilla escapada...

¿

¿Quizás estas escapando dos veces? Es posible.

Si estas pasando stripslashes y no te funciona, si que me parece raro... ¿Es posible que realmente lo que estas viendo esté escapado y como fue doblemente escapado te muestra un escape simple? (Otra vez concluimos en el problema del doble escapado)

Para probar, hazle a la cadena str_replace("\","", $micadena) a ver si así se te ve bien. Esto es solo por comprobar, me parece una chapuza dejar esto en definitivo y pienso que habría que corregir el problema de raíz, no parcheandolo.

Dime si no, qué te devuelve var_dump()

Por cierto, el escapado de comillas tiene que tratarse en comillas dobles me parece.. prueba si es un problema de comillas... quiero decir '\n' no es lo mismo que "\n", quizás van por ahí los tiros.

Suerte!

La pregunta no admite más respuestas

Más respuestas relacionadas