我正在尝试解码一些超文本标记语言的实体,比如'&lt;'变成了'<'。
我有一个旧宝石(html_helpers),但它似乎已经被丢弃了两次。
有什么建议吗?我需要在模型中使用它。
发布于 2011-03-06 22:19:05
HTMLEntities可以做到:
: jmglov@laurana; sudo gem install htmlentities
Successfully installed htmlentities-4.2.4
: jmglov@laurana; irb
irb(main):001:0> require 'htmlentities'
=> []
irb(main):002:0> HTMLEntities.new.decode "¡I'm highly annoyed with character references!"
=> "¡I'm highly annoyed with character references!"发布于 2009-10-21 20:46:51
要对字符进行编码,可以使用CGI.escapeHTML
string = CGI.escapeHTML('test "escaping" <characters>')要解码它们,可以使用CGI.unescapeHTML
CGI.unescapeHTML("test "unescaping" <characters>")当然,在此之前,您需要包含CGI库:
require 'cgi'如果您在Rails中,则不需要使用CGI对字符串进行编码。这里有h方法。
<%= h 'escaping <html>' %>发布于 2014-12-18 16:27:47
我认为Nokogiri gem也是一个很好的选择。它非常稳定,并且有一个巨大的贡献社区。
示例:
a = Nokogiri::HTML.parse "foo bär"
a.text
=> "foo bär"或
a = Nokogiri::HTML.parse "¡I'm highly annoyed with character references!"
a.text
=> "¡I'm highly annoyed with character references!"https://stackoverflow.com/questions/1600526
复制相似问题