Bueno, la verdad es que con un iframe no es muy complicado:
En este ejemplo, luego de escribir y haciendo click fuera del iframe, cambia el color del texto envuelto en tags bbCode de negrita y cursiva. Creo que es una buena punta para que lo sigas.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script>
function init(){
document.getElementById('edit').contentWindow.document.designMode = "on";
document.onclick=function(){
cont=document.getElementById('edit').contentWindow.document.body.innerHTML;
cont=cont.split('[b]').join('<font color="red">');
cont=cont.split('[/b]').join('</font>');
cont=cont.split('[i]').join('<font color="blue">');
cont=cont.split('[/i]').join('</font>');
document.getElementById('edit').contentWindow.document.body.innerHTML=cont;
}
}
window.onload=init;
</script>
</head>
<body>
<iframe id="edit" width="300" height="200"></iframe>
</body>
</html>