如何在文本框中允许加粗、下划线和斜体?

4

我目前在从数据库读取文本时使用nl2br()。不幸的是,如果我用<b>或<strong>包裹一些文本,它并不会加粗,而是显示出代码。如何让一些HTML正常通过并正确呈现?

我当前从数据库获取以下内容...

<b>Blah blah text</b>

但我希望它显示为粗体,而不是仍然存在标签。

例如:

在数据库中,我有一个虚拟帖子来测试数据库是否工作。

数据库读取到...

Hello and welcome to the forums! 

&lt;b&gt;Test&lt;/b&gt;

通过nl2br()返回的信息是被读取的...

Hello and welcome to the forums! 

<b>Test</b>

我希望“test”这个词能够加粗显示。


1
无法理解您所询问的内容 - user557846
2
你可能需要查找http://www.tinymce.com/。或者,如果您想格式化您的内容,您也可以寻找Markdown编辑器。 - Aman Gupta
有没有简单的方法可以不使用插件完成它?我不想要一堆不会被使用的代码。我只需要在HTML标签中包裹的文本输出为加粗、斜体或者下划线即可。 - Anthony
如果您在示例的中间或结尾加入了断点,仍然会得到粗体文本,因此我仍然不清楚。请给出实际来自数据库的文本示例和生成的 HTML 代码。 - user557846
我很困惑。你说你不想要格式,但是“I'd like test to be bolded.”就是格式。你能解释一下你想要的输出是什么吗? - Dave Chen
3个回答

1

1
我不是要在文本区域内格式化文本,只是在读取时输出的文本。 - Anthony
在这种情况下,请使用div而不是文本区域。 - user2672373
我将数据库信息输出到一个数组中并在一个div中调用,但文本没有格式化。我不知道为什么。 - Anthony
尝试使用 innerHTML。divdom.innerHTML='<b>测试</b>' - user2672373

0

不行。HTML的<textarea>元素只能包含纯文本。

您需要使用JavaScript富文本编辑器组件,例如TinyMCECKEditor


2
我不是要在文本区域内格式化文本,只是在读取时输出的文本。 - Anthony

0

输出已经正确了,但是HTML格式化没有被应用。 - Anthony

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