将未转义的HTML保存为字符串

时间:2015-06-04 22:30:22

标签: html ruby-on-rails ruby

我有一个字符串:

html = '<div class="blue"> <p>This is a description string'

如果我在视图中执行<%= html.html_safe %>,它将返回正确的字符串,但如果我在控制台中执行此操作则不会。如果我这样做:

unencoded = html.html_safe
puts unencoded 

它在控制台中返回

&lt;div class="blue"&gt; &lt;p&gt;This is a description string

如何解码字符串以便我可以使用Nokogiri对标签执行操作?

2 个答案:

答案 0 :(得分:1)

您可以使用CGI.unescapeHTML

取消所有HTML实体
html = '&lt;div class="blue"&gt; &lt;p&gt;This is a description string'
CGI.unescapeHTML(html)
# => "<div class=\"blue\"> <p>This is a description string"

答案 1 :(得分:0)

最终对我有用的唯一事情是gsub&lt;和&gt;我的HTML中的符号。

喜欢这样

    html.gsub! '&lt;','<'
    html.gsub! '&gt;','>'

对我的html变量执行此操作后,我能够使用Nokogiri解析它