Bueno, yo me hice esta función y trabaja bastante fácil. Así que si quieres modificarla para tus intenciones, adelante
Código PHP:
$varCaracteres = array ("/á/", "/é/", "/í/", "/ó/", "/ú/", "/ñ/", "/Á/", "/É/", "/Í/", "/Ó/", "/Ú/", "/Ñ/", "/[\n]/",);
$varCaracteresHTML = array ("á", "é", "í", "ó", "ú", "ñ", "Á", "É", "Í", "Ó", "Ú", "Ñ", "<br>\r");
function textohtml ($texto)
{
$texto = preg_replace($GLOBALS["varCaracteres"], $GLOBALS["varCaracteresHTML"], $texto);
return $texto;
}
Saludos