vi posto la soluzione magari servirà a qualcun'altro a non perdere un'intera giornata.
Codice PHP:
$strhtmlentities($accenti[0], ENT_COMPAT"UTF-8");
$sillabazione preg_replace('/&a(acute|grave);/','a',$acc);
$sillabazione html_entity_decode($sillabazione); 
resta un mistero perché il preg_replace non vede "à" mentre vede l'entità html...