In letzter Zeit habe ich 
CodeMirror lieben gelernt. Ich mag es nicht mit TinyMCE zu arbeiten und normale TextAreas sind für HTML-Coding wirklich schrecklich. Wenn man in einem System HTML-Templates bearbeitet, will man Einrückungen und Syntax-Highlighting.
Mit Code-Mirror hat man da und es ist wirklich leicht zu verwenden. Man hat eine Variable pro Editor und das einbringen von Code von Außen (z.B. das hinzufügen von Bilder-Links durch ein Klick auf ein Bild) ist sehr einfach.
	//for codemirror
	if(main){
		main.replaceSelection(textToInsert);
	}
Und es gibt sogar einen 
Mode für BBCode. Damit wird jetzt das Blog-Modul betrieben, wenn man sich gegen HTML mit TinyMCE entscheidet.
Wer also XML oder HTML Code in seiner Web-Anwendung bearbeiten muss oder seinen Benutzern BBCode anbietet kann das mit CodeMirror wirklich leicht und schnell einbauen.
<script src="/reachableContent/codemirror/lib/codemirror.js"></script>
<link rel="stylesheet" href="/reachableContent/codemirror/lib/codemirror.css">
<script src="/reachableContent/codemirror/mode/xml/xml.js"></script>
<script src="/reachableContent/codemirror/mode/css/css.js"></script>
<script src="/reachableContent/codemirror/mode/javascript/javascript.js"></script>
<script src="/reachableContent/codemirror/mode/htmlmixed/htmlmixed.js"></script>
...
<script type="text/javascript">
	var myTextArea=document.getElementById("idTextArea");
	var myCodeMirror = CodeMirror.fromTextArea(myTextArea,{tabSize: 4,
		  indentUnit: 4,
		  indentWithTabs: true,
		  lineNumbers: true});
</script>
 Auch mit BBCode
Auch mit BBCode