ok con il doppio maggio e minore funziona
"testo tra virgolette"
’testo tra apici’
<testo tra minore e maggiore> (questo non lo stampa)
<<testo tra doppio minore e doppio maggiore>>
testo in grassetto
l’a
c’è
è
ò
à
ì
ù
Il problema resta se l'utente inserisce un testo tra un singolo maggiore e minore

Io ho questa funzione che richiamo
function vedi_db($stringa){
$stringa = stripslashes($stringa);
$stringa = ereg_replace("&#39;","'",$stringa);
$stringa = ereg_replace("\r\n","",$stringa);
$stringa = ereg_replace("\n","",$stringa);
$stringa = ereg_replace("
","
",$stringa);
$stringa = ereg_replace("&lt;br&gt;","
",$stringa);
$stringa = ereg_replace("&lt;b&gt;","",$stringa);
$stringa = ereg_replace("&lt;/b&gt;","
",$stringa);
$stringa = preg_replace(array("/>>/", "/<</"), array("»","«"), $stringa);
return $stringa;
}