HTML:<textarea> -Tag:如何正确地转义那里显示的HTML和JavaScript内容?</textarea>

时间:2010-03-23 17:58:31

标签: html textarea

我有一个HTML标记<textarea>$FOO</textarea>$FOO变量将填充任意HTML和JavaScript内容,以便在textarea中显示和编辑。我需要什么样的“逃避”来申请$ FOO?

我首先想要逃避HTML,但这不起作用(因为我将不会显示$ FOO的原始HTML代码,而是转义的内容。这当然不是我想要的:我想要显示未转义的HTML / JS变量的内容......

是否无法在<textarea>标记内显示HTML内容,还允许将其编辑为完整的HTML?

感谢 延

2 个答案:

答案 0 :(得分:21)

  

我首先想要逃避HTML

是的,没错。 <textarea>的内容与<span><p>等任何其他元素的内容没有区别:如果您想在其中放入一些文本,则必须HTML-escape {<其中有1}}或&个字符分别为&lt;&amp;

浏览器确实倾向于在<textarea>中为您提供更多的故障标记余地,因为无效的未转义<符号的后备是将它们渲染为文本而不是标记,但这并不是' t使它不那么错误或危险(对于XSS)。

  

但这没效果

请发布您所做的不起作用的内容。 HTML转义绝对是正确的。

答案 1 :(得分:2)

您需要在textarea,至少&<和{中character references(数字字符引用或实体引用)替换HTML的特殊字符。 {1}}。