Forse sto dicendo una vaccata, ma se all'inizio hai scritto

Codice PHP:
addslashes(urlencode(htmlentities($testo))); 
Perché poi non scrivi

Codice PHP:
html_entity_decode(urldecode(stripslashes($testo))); 
Invece di

Codice PHP:
stripslashes(urldecode(html_entity_decode($testo))); 
?