questa è una funzione che mi sono fatto io per la conversione dei testi in entità HTML.
Codice PHP:
function HTMLconvert($text)
{
$finded =array();
$filtered =array();
$pattern="/(<\/?\w+\s*[^>]*\/?> )?([^<>]*)/mis";
preg_match_all($pattern, $text, $strings, PREG_SET_ORDER);
foreach($strings as $arr)
{
if( !empty($arr[2]) ) $finded[]=$arr[2];
}
$elements=array_unique($finded);
foreach($elements as $el)
{
if (substr($el,0,1) !='/' && !in_array("/$el",$elements))
{
$filtered[]=$el;
}
}
foreach($filtered as $s_key=>$s_val)
{
if(mb_detect_encoding($s_val)=='UTF-8')
{$s_val=iconv('UTF-8', "ISO-8859-1//TRANSLIT",$s_val);}
else
{$s_val=iconv('ISO-8859-1', mb_detect_encoding($s_val)."//TRANSLIT",$s_val);}
$entities[$s_key]=htmlentities($s_val,ENT_QUOTES);
}
$text=str_replace($filtered,$entities,$text);
return ($text);
}
per il momento ha sempre funzionato bene e l auso per gestire testi provenienti da un editor fck
vedi se ti può essere di aiuto...