Esto te sirve:
Decodificación de entidades HTML
Código PHP:
$orig = "I'll \"walk\" the <b>dog</b> now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll "walk" the <b>dog</b> now
echo $b; // I'll "walk" the <b>dog</b> now
// Usuarios de una versión anterior a 4.3.0 de PHP, pueden hacer esto:
function unhtmlentities($cadena)
{
// reemplazar entidades numéricas
$cadena = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $cadena);
$cadena = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $cadena);
// reemplazar entidades literales
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($cadena, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // I'll "walk" the <b>dog</b> now
De lo que se trata, es de codificar los caracteres tales como comillas en su entidad html correspondiente.
No sé si el código funciona porque lo copié del primer resultado de google ;)
Saludos!!