如何使用Ruby on Rails 4将html代码转换为“html-converted”纯文本

时间:2015-09-23 10:36:30

标签: html ruby-on-rails-4

我有一个带有html内容的表格字段,如下所示:

<ul>
 <li>&&amp;Avalada por la Sociedad Española de Psicooncología</li>
 <li>space&nbsp;another_space:&#160;</li>
</ul>

我不仅要删除html标签:我想获得“html-translated”文本,正是这样: enter image description here

我可以通过:sanitize(pm, tags:[], attributes:[])

但是如果我把它放到一个变量中我得到这个:

&&amp;Avalada por la Sociedad Española de Psicooncología
 space&nbsp;another_space:&#160;

enter image description here

解决方案<{1}}或strip_tagssanitize 不仅,因为在浏览器上我已经可以正确看到它,但我想获得本文“&amp;&amp; Avalada por laSociedadEspañoladePsicooncologíaspaceanother_space:”以后保存在没有html代码的XML文件中

提前致谢

1 个答案:

答案 0 :(得分:0)

可能是人,认为这是一个愚蠢的情况,因为任何人都想放一个“&amp;”在xml文件字段的值...但经理订单是必须满足的订单

解决方案是Nokogiri的内容方法:

Nokogiri::HTML("<ul><li>&&amp;Av...logía</li>
<li>space&nbsp;...ce:&#160;</li></ul>").content

然后在xml.builder中使用 to_sym

 xml.libro(
      ISBN:"blabla",
      resumen: descripcion_libro.to_sym)

事实上我必须制造魔法,因为我在BBDD中有类似的东西

<P>&lt;iframe width="560" height="315" src="//www.youtube.com/embed/A3hTVX

是!!这是用HTML编码的HTML代码,以解决这个问题:

 descripcion_libro=sanitize(Nokogiri::HTML(Catalog.find(3190).descripcion).content, tags:[], attributes:[])

# Some invisible characters to replace
descripcion_libro.gsub!(/./){|c| (c.bytes==[194,160]  ? " " : c)}

descripcion_libro.strip!

# Replace " by ', although this not ensure than won't be html errors if in bbdd appears "<" or ">"
descripcion_libro.gsub!('"',"'")