2010-09-16 4 views
0

Мне нужно вставить символ nbsp в некоторые места HTML, который поступает из БД и будет отображаться на странице.Вставить   в Rails с Nokogiri

я следующее:

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

Этот полученный текст содержит NBSP, отображается в виде обычного текста, а не специальный символ.

Я также попытался использовать следующее:

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 

Но все они не работают.

Похоже, что методы «содержимого» узла Nokogiri ускользают от специальных символов при модификации содержимого или внутреннего_текста.

Есть ли способ доступа к содержимому исходного узла?

ответ

2

Просто гадать - может быть p.content.gsub! pattern, " ".html_safe может помочь?

+0

Ничего себе! Удивительное решение! Гораздо лучше, чем использовать CGI.unescapeHTML (...)! Большое спасибо, мужик! – AntonAL

Смежные вопросы