如何让用户将 html 输入到 textarea 中?如果他们尝试将 <textarea> 包含在文本区域中,我会遇到问题

Posted

技术标签:

【中文标题】如何让用户将 html 输入到 textarea 中?如果他们尝试将 <textarea> 包含在文本区域中,我会遇到问题【英文标题】:How to let a user input html into a textarea? I have problems if they try to include <textarea> inside a text area 【发布时间】:2011-02-13 04:57:31 【问题描述】:

所以我有一个空间,用户可以输入文本/html,它会显示在另一个页面上。听起来很简单吧。好吧,这个空间是一个文本区域 - 又是你所期望的。

但是如果用户尝试输入标签和标签,那么下次加载页面时将关闭文本框(默认插入之前的文本)。我怎么能让他们这样做?

【问题讨论】:

他也可以输入&lt;script&gt;标签,这可能会危及您的网站安全。 【参考方案1】:

我假设您正在使用一些动态后端来显示插入的数据?

当您在 textarea 中输出文本时,将输出转义(执行此操作的方式因语言而异,htmlspecialchars 在 php 中有效)。

【讨论】:

【参考方案2】:

您应该转义文本区域内的文本,将&amp;lt;textarea&amp;gt; 更改为&amp;lt;textarea&amp;gt;。许多语言都有办法做到这一点。在 PHP 中它被称为htmlentities

请注意,这不会改变文本在 textarea 中的显示方式。

【讨论】:

以上是关于如何让用户将 html 输入到 textarea 中?如果他们尝试将 <textarea> 包含在文本区域中,我会遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

如何让textarea的高度自适应

如何从 mysql 获取数据到 ckeditor textarea?

如何在代码隐藏中引用 HTML <textarea> 控件的输入?

如何将文本附加到'<textarea>'?

如何在 HTML textarea 元素中强制单行?

如何在textarea文本输入区内实现换行