如何在文本域中显示HTML格式?

5
我有一段代码,可以在文本区域中使用加粗、下划线、删除线或斜体来格式化文本。但它显示的是 html 标签而不是实际的格式化内容。我知道一旦我将其输出到一个 div 中,它就会被格式化,但我想在用户编写文本时显示格式化效果。
如何启用格式化?JavaScript 可以,我目前正在使用 JQuery。如果有其他选项,我也不想使用所见即所得编辑器。
感谢任何帮助。
4个回答

14
 <div contentEditable="true"> 
 </div

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


这仅适用于支持HTML5的浏览器,虽然可行,但无法解决跨浏览器的可靠性问题。 - MacMac
3
contentEditable已经在所有主要(桌面)浏览器中支持了相当长一段时间。参考链接:http://caniuse.com/contenteditable。 - You

2
只是一个想法;如果你只想让用户看到他们的响应会是什么样子,你可以借鉴这个网站并在评论框上面/下面放置一种“预览”div。你可以使用onKeyUp将代码放入div中,以使其随着用户输入而更新。虽然不完美,但如果您不想使用所见即所得编辑器,它可能是最好的选择。
话虽如此,contentEditable + WYSIWYG选项可能更加用户友好和简单,依我之见。

0

我相信只有使用一些div或其他可样式化的HTML元素,而不是您的文本区域,才能实现这一点。然后,使用JavaScript添加文本区域的功能。

您可以像在SO上使用某些格式化系统吗?在我看来,这比伪WYSIWYG更加优雅。


-1

这个链接也失效了。 - Linda Lawton - DaImTo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接