【发布时间】:2014-03-16 14:22:19
【问题描述】:
所以我不知道我是否在 Google 或 Stackoverflow 上寻找错误的东西,但我想实现这一点-
表单中有一个文本区域,我希望用户能够输入 HTML 标签。
所以用户会在文本区域输入这个:
<html>
<p>Hello World</p>
</html>
然后通过 AJAX 和 JavaScript 将其提交到数据库,但似乎摆脱了标签。
我想要的是在返回数据时保留标签,但实际上不会影响文本区域中的其他数据。例如,如果我要回显文本区域的内容,它会回显:
<html>
<p>Hello World</p>
</html>
作为纯文本。
好的,我已经深入使用 htmlspecialchars,它可以满足我的需求,因为它将标签显示为纯文本。但是我希望一些标签被执行,例如粗体标签。我将如何结合 htmlspecialchars 和 striptags 以允许标签显示为纯文本,但也允许执行 striptags 中指定的标签。
【问题讨论】:
-
您正在使用的某些软件正在主动删除该标记;
<textarea>值中的 HTML 标记没有什么特别之处。浏览器不会自动删除它,但 JavaScript 客户端或服务器上的一些善意但错误的代码会自动删除。 -
尝试使用 console.log('textareadata') 查看正在提交给服务器的内容。如果它是正确的 html,那么它就是在服务器端剥离标签的东西。如果不是,那是客户端的问题。
-
我怀疑有些东西正在删除标签。您可能只是在 html 上下文中查看它,并且标记已呈现。在浏览器中输入
view source
标签: javascript php jquery html tags