用户通过文本字段输入的&符号?

时间:2009-10-12 16:36:50

标签: html validation xhtml user-input escaping

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

在网站副本等中包含的&符号是一个明智的选择。但是如何逃避用户动态输入的&符?目前,它正在破坏我的前端验证。

1 个答案:

答案 0 :(得分:6)

显示值时,需要用HTML实体替换某些字符。这些人物是:

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

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

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

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

<%=html_escape @text%>

或简短:

<%=h @text%>