2015-06-04 2 views
0

У меня есть строка:Сохранить неэкранированный HTML в строку

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?

ответ

0

Единственное, что работал для меня в конце концов должен был GSUB в < и> символы в моем HTML.

как так

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

после делать это в моей переменной HTML я смог разобрать его с Nokogiri

1

Вы можете все экранирования в HTML-сущностей с CGI.unescapeHTML:

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" 
Смежные вопросы