如何在textarea中显示HTML格式?

时间:2011-10-16 16:19:35

标签: php javascript jquery html textarea

我有一些代码可以让您使用粗体,下划线,删除线或斜体格式化textarea中的文本。但它显示html标签而不是实际格式化它。我知道一旦我在div中输出它,它就会被格式化,但我想在用户写文本时显示格式。

如何启用格式化? JavaScript很好,我现在正在使用JQuery。如果还有其他选择,我也不愿使用WYSIWYG编辑器。

感谢您的帮助。

5 个答案:

答案 0 :(得分:14)

在div元素

上使用contentEditable属性
 <div contentEditable="true"> 
 </div

通过这种方式,您可以以任何所需的方式格式化输入,只是不要忘记正确的转义数据。

答案 1 :(得分:2)

只是一个想法;如果你只是想让用户看到他们的回复会是什么样子,你可以从这个网站上获得一个提示,并在评论框的正上方/下方有一个“预览”div。你可以使用onKeyUp将代码放入div中,以便在用户输入时保持日期。它并不完美,但如果你不想使用WYSIWYG,它可能会和你一样好。

话虽如此,contentEditable + WYSIWYG选项可能更加用户友好,更简单,恕我直言。

答案 2 :(得分:0)

我相信只有使用一些div或其他可设置的html元素才能代替你的textarea。使用Javascript,您将添加textarea的功能。

你在SO上使用这样的格式化系统怎么样?在我看来,它比伪WYSIWYG更优雅。

答案 3 :(得分:0)

用div替换textarea并启用设计模式。 或者您可以使用jquery插件http://plugins.jquery.com/project/designMode

答案 4 :(得分:0)

不能在Textarea内部完成,你必须去制作一个所见即所得的编辑器。很容易自己制作其中一个。 这是一个非常好的教程:

Devgurus wysiwyg tutorial