如何反转逃生输出

时间:2013-10-22 14:34:46

标签: ruby-on-rails ruby google-maps

我有一个已经HTML转义的数据库中的字符串列表。例如,我有Kind of Business™

这适用于使用rawhtml_safe打印HTML文档,遗憾的是,当我在地图标记中使用字符串时,Google Maps API不需要转义字符串才能运行作为HTML文档。

Rails是否有办法呈现转义的内容,然后将其传递给Google地图?


编辑:现在使用:

<%=raw HTMLEntities.new.decode(str) %>

3 个答案:

答案 0 :(得分:2)

使用此gem:

http://github.com/threedaymonk/htmlentities

用于解码使用:

HTMLEntities.new.decode "Business&trade;"
=> "Business™"

对于编码:

HTMLEntities.new.encode "Business™"
=> "Business&trade;"

答案 1 :(得分:0)

CGI.unescapeHTML("test &quot;unescaping&quot; &lt;characters&gt;")

答案 2 :(得分:0)

没有外部宝石:

CGI.escape 'https://google.com' # returns 'https%3A%2F%2Fgoogle.com'

反转很容易猜到:

CGI.unescape 'https%3A%2F%2Fgoogle.com' # returns 'https://google.com'

注意 CGI.unescapeHTML 似乎只适用于 HTML 标签,不适用于简单的字符串。