se usi una semplice textarea non puoi farlo al massimo puoi ottenere un risultato simile a quello che vedi nel forum di html.it, cioè al click sullo smile viene mostrato il bbcode poi quando viene visualizzato il post viene mostrata l'immagine sostituendo al bbcode l'immagine. L'alternativa è usare div con l'attributo contenteditable settato a true (lista compatibilità browser ). Oppure ancora (secondo me la migliore soluzione) usare qualche rte come tinymce e simili.