Ho risolto modificando
$val = str_replace( "&" , "&am p;" , $val );
in
$val = str_replace( "&" , "&am p;amp;" , $val );
ma anche se adesso lo script modifica corettamente i caratteri il validatore del w3c da ancora problemi...a rigurdo ho aperto un'altra discussione per chi fosse interessato...
http://forum.html.it/forum/showthrea...1#post11538161