3

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

这适用于使用raw或直接打印 HTML 文档html_safe,不幸的是,当我在地图标记中使用该字符串时,Google Maps API 不需要转义字符串来像 HTML 文档那样工作。

Rails 有没有办法渲染转义的内容,然后将其传递给谷歌地图?


编辑:现在使用:

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

3 回答 3

2

使用这个宝石:

http://github.com/threedaymonk/htmlentities

用于解码:

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

对于编码:

HTMLEntities.new.encode "Business™"
=> "Business&trade;"
于 2013-10-22T14:37:43.907 回答
1
CGI.unescapeHTML("test &quot;unescaping&quot; &lt;characters&gt;")
于 2015-12-11T17:08:32.453 回答
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 标记,不适用于简单的字符串。

于 2021-07-05T03:30:00.560 回答