Alla fine ho risolto così:
Codice PHP:
function replace($testo) {
$testo = htmlentities($testo, ENT_QUOTES);
$testo = str_replace("\n","
", $testo);
$testo = str_replace("[LINE]","<div id=\"d_line\"></div>", $testo); //linea
$testo = str_replace("[B]","[b]", $testo);
$testo = str_replace("[/B]","[/b]", $testo);
$testo = str_replace("[U]","<u>", $testo);
$testo = str_replace("[/U]","</u>", $testo);
$testo = str_replace("[I]","[i]", $testo);
$testo = str_replace("[/I]","[/i]", $testo);
$testo = str_replace("[TOP]", "<a href=\"#top\"><img src=\"pics/top.jpg\" alt=\"back to top\" border=\"0\" align=\"right\"/></a>
", $testo);
$testo = str_replace("[L]", "<a target=\"_blank\" href=\"http://", $testo); //inizio del link esterno
$testo = str_replace("[IL]", "<a href=\"", $testo); //inizio del link interno
$testo = str_replace("[H]", "\">", $testo);//metà del link
$testo = str_replace("[/L]", "</a>", $testo); //chiusura del link
$testo = str_replace("[M]", "<a href=\"mailto:", $testo);//mailto
return $testo;
}
e richiamo la funzione con:
Codice PHP:
$text_area = replace($text_area);
dove text area è la variabile che contiene il testo inserito tramite form.
Magari a qualcuno torna utile questo script.