2010-09-16 5 views
0

J'ai besoin d'insérer le symbole nbsp dans certains endroits du HTML, qui vient de DB et qui sera affiché sur la page.Insérer   dans Rails avec Nokogiri

Je suit:

doc = Nokogiri::HTML(self.content) 
doc.css("p").each do |p| 
    p.content.gsub! pattern, " " 
end 

Ce texte résultant contient nbsp, affiché en tant que texte brut, mais pas un symbole spécial.

J'ai essayé d'utiliser également ce qui suit:

p.content.gsub! pattern, "\u00A0" 
p.content.gsub! pattern, " " 
p.content.gsub! pattern, 160.chr # paragraph disappears in this case 
p.content.gsub! pattern, "\240" # paragraph disappears in this case 

Mais tous ne fonctionnent pas.

Il semble que les méthodes "content" du nœud Nokogiri échappent aux symboles spéciaux, tout en modifiant le contenu ou inner_text.

Existe-t-il un moyen d'accéder au contenu de noeud brut?

Répondre

2

Juste deviner - peut-être p.content.gsub! pattern, " ".html_safe peut aider?

+0

Wow! Solution incroyable! Bien mieux que d'utiliser CGI.unescapeHTML (...)! Merci beaucoup, mec! – AntonAL