Comencé un proyecto de código abierto "sourceforge" para hacer un editor de texto enriquecido hace aproximadamente un año y medio. Nunca me di cuenta de cómo obtener mi código allí, sin embargo para desarrollarlo tuve que investigar cómo funciona el "modo editable de contenido" en IE y Firefox. Mi investigación incluyó principalmente el sitio web de firefox y el sitio web de microsoft.
El código que vi para hacer esto era feo y poco amigable con OO (lo siento, no soy un fanático de los objetos), así que tuve que volver a factorizar mucho para obtener un formulario que Podría desarrollar y extenderme.
Desafortunadamente, incluso si sigue la funcionalidad proporcionada por el "modo de edición de contenido" del navegador, seguirá teniendo un editor lleno de errores.La razón de esto es que el "modo editable de contenido" no funciona de manera consistente con pegar desde MS Word (todo el mundo lo prueba) o crear listas numeradas, y la marca que genera será inconsistente y mal formada.
Es por eso que ahora uso TinyMCE. TinyMCE está lleno de decisiones de diseño que yo personalmente habría evitado, pero han solucionado la mayoría de los errores que obtendrás al tratar de crear tu propio editor. También está lleno de características que le permitirán personalizarlo según sus necesidades.
No puedo recomendar nada más porque realmente no he probado las alternativas.
Aunque TinyMCE parece ser la mejor opción, para mí todavía es un dolor de cabeza porque pegar documentos de Word sigue siendo impredecible, la promesa WYSIWYG no es realmente posible en HTML pero el cliente lo espera, y hay muchos problemas que se arrastran una vez que comienzas a dejar que los usuarios pongan HTML sin procesar en tu base de datos. (especialmente cuando su código base ha sido actualizado por última vez en 1993 ...)
Espero no haber perdido el espíritu de su pregunta con mis ediciones, pero creo que la última parte fue un poco confusa. –
¡Gran marca! A veces no soy bueno para expresarme. –