Eu estava em busca de um editor simples para meus clientes… Fui buscando e tentando alguns porém achei o TinyMCE que me agradou.
Vou dar um exemplo bem simples e sem utiliza Banco de Dados porém se quiser usar o sistema é o mesmo.

Ele basicamente transforma as textáreas em editores.

Para fazer o download dos arquivos: Link
Se quiser ver o site e a documentação: Link

Vamos ao que interessa…

Na página onde vai ter a edição basta puxar o arquivo JS e algumas configurações

index.html


<html>
<head>
<script src="jscripts/tiny_mce/tiny_mce.js"></script>
<script>
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount",

// Theme options
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,

// Example content CSS (should be your site CSS)
content_css : "css/content.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",

// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
</head>
<body>
Teste :)
<form method="POST" action="recebe.asp">
<textarea rows="15" cols="80" style="width: 80%">
AQUI VAI ALGUM TEXTO FIXO SE QUISER!
</textarea>
<input value="salvar"/>
</form>
</body>
</html>

Depois basta passar as informações para ASP como se fosse um formulário normal.

recebe.asp


<%
'Pega o que foi colocado na text
editor = request.form("elm1")

'Cria o Objeto e cria o arquivo TXT
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
caminho = Server.MapPath("news.txt")
Set GRAVAR = FSO.CreateTextFile(caminho,true)
gravar.write (editor)
gravar.close
response.write "GRAVADO !!!"
%>

<form action="ler.asp">
<input value="Visualizar"/>
</form>

ler.asp


<%
'Pega o arquivo .txt
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
caminho = Server.Mappath("news.txt")
Set TXT = FSO.OpenTextFile(caminho)
'cria o objeto, e busca pelo TXT indicado pela variável caminho como acima

'Mostra o que tem escrito no arquivo
response.write txt.readALL

txt.close
%>

<form action="index.html">
<input value="Voltar"/>
</form>

Com isso você já consegue gravar e mostrar o que foi alterado.
Qualquer coisa é só postar.