Você não deve usar
htmlentities
ao salvá-lo. Você deve usar htmlentities
ao exibi-lo. A regra geral é não codificar/higienizar os dados até que você precise. Se você fizer htmlentities
nele quando você salva, então você tem que fazer html_entity_decode
no texto quando o usuário deseja editar a entrada. Assim você higieniza para o que precisa e nada mais. Ao salvá-lo, você precisa sanitizar para injeção de SQL, então você mysql_real_escape_string
isto. Ao exibir, você precisa limpar para XSS, então você htmlentities
isto. Além disso, não tenho certeza se você viu o comentário de Darryl Hein, mas você realmente não quer magic_quotes ativado. Eles são uma coisa ruim, ruim e foram descontinuados a partir do PHP 5.3 e desaparecerão completamente no PHP 6.