2

像今天几乎所有的应用程序一样,我的用户通过标准文本输入输入各种信息。我的应用程序在 Rails 上运行。

逃避我作为站点副本等的一部分包含的&符号是不费吹灰之力的。但是如何逃避用户动态输入的&符号?目前,它打破了我的前端验证。

4

1 回答 1

6

当您显示值时,您需要将某些字符替换为 HTML 实体。这些字符是:

& : &
< : &lt;
> : &gt;
" : &quot;

也许有一个 HtmlEncode 函数可供您使用,否则您可以使用纯字符串操作。伪代码:

output replace(replace(replace(replace(text, "&", "&amp"), "<", "&lt;"), ">", "&gt;", """", "&quot;")

编辑:
我发现你可以使用 html_escape() 函数:

<%=html_escape @text%>

或简称:

<%=h @text%>
于 2009-10-12T17:03:06.467 回答